Przejdź do treści głównej
Wersja: 0.82

Poziomy wydań

Nieoficjalne Tłumaczenie Beta

Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →

React Native umożliwia społeczności wczesne korzystanie z nowych funkcji już na etapie finalizacji ich projektu i implementacji, jeszcze przed uwzględnieniem ich w stabilnej wersji. To podejście nazywane jest poziomami wydań.

Można skonfigurować poziom wydania React Native, aby instancja aplikacji inicjalizowała się z flagami funkcji ustawionymi na tryb EXPERIMENTAL, CANARY lub STABLE.

uwaga

To podejście jest podobne do wydań Canary i Experimental w React, ale z kluczową różnicą: niezależnie od poziomu wydania używana jest ta sama wersja kodu React JS i React Native.
React Native nie korzysta też z tagów NPM @canary ani @experimental, ponieważ poziomy wydań są dostępne zarówno w stabilnych, jak i nightly'owych wersjach React Native.

Co więcej, ustawienie poziomu wydania na EXPERIMENTAL lub CANARY nie spowoduje użycia react@nightly ani react@canary ze względu na sposób, w jaki react-native konsumuje wersję Reacta (więcej informacji tutaj).

Kiedy używać poszczególnych poziomów wydań

  • STABLE:

    • Stosuj dla wszystkich aplikacji produkcyjnych i bibliotek, które nie wymagają wczesnego dostępu do niewydanych funkcji.
    • Domyślny poziom dla stabilnych i nightly'owych wydań.
  • CANARY:

    • Używaj, jeśli jesteś autorem frameworka, zaawansowanym programistą aplikacji lub potrzebujesz testować/wdrażaæ nowe funkcje przed ich wydaniem w wersji stabilnej.
    • Niezalecany dla aplikacji produkcyjnych lub użytkowników końcowych.
  • EXPERIMENTAL:

    • Używaj wyłącznie do testowania i przekazywania informacji zwrotnej o nowych funkcjach we wczesnych etapach rozwoju.
    • Niezalecany dla aplikacji produkcyjnych lub użytkowników końcowych.

Jak inicjalizować React Native z użyciem Canary & Experimental

Android

Klasa DefaultNewArchitectureEntryPoint posiada teraz właściwość releaseLevel (domyślnie: STABLE).
System flag funkcji używa tej właściwości do wyboru odpowiedniego zestawu flag dla wybranego poziomu wydania.

Example usage
DefaultNewArchitectureEntryPoint.releaseLevel = ReleaseLevel.CANARY
DefaultNewArchitectureEntryPoint.load()

System budowania generuje różne klasy nadpisujące flagi funkcji dla każdego poziomu wydania, zapewniając włączenie odpowiednich funkcji na każdym etapie.

iOS

Klasa RCTReactNativeFactory posiada teraz inicjalizator akceptujący parametr releaseLevel. Konfiguracja flag funkcji wykorzystuje ten parametr do wyboru właściwych nadpisań flag.

Example usage
[[RCTReactNativeFactory alloc] initWithDelegate:delegate releaseLevel:Canary];

System zapewnia, że tylko jeden poziom wydania jest aktywny na instancję aplikacji i spowoduje crash w przypadku tworzenia wielu fabryk z różnymi poziomami wydania.