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

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.