Ogłaszamy React Native 0.69
Ta strona została przetłumaczona przez PageTurner AI (beta). Nie jest oficjalnie zatwierdzona przez projekt. Znalazłeś błąd? Zgłoś problem →
Z radością prezentujemy nową wersję React Native 0.69.0. Ta wersja wprowadza kilka ulepszeń Nowej Architektury React Native oraz nowe funkcje: obsługę React 18 i dołączonego w pakiecie Hermesa. Czytaj dalej, aby dowiedzieć się więcej!
Sekcje
React 18
Z przyjemnością informujemy, że React Native 0.69 to pierwsza wersja obsługująca React 18. React 18 wprowadził wiele ulepszeń, takich jak nowe hooki np. useId. Dodatkowo React 18 zawiera nowe funkcje współbieżności, takie jak useTransition czy pełne wsparcie dla Suspense.
W React Native 0.69 obsługa React 18 jest domyślnie włączona. Jednak jeśli nie migrowałeś do Nowej Architektury, będziesz mógł korzystać tylko z funkcji, które nie wykorzystują renderowania współbieżnego. Nowa Architektura została zaprojektowana z myślą o renderowaniu współbieżnym, ale nie możemy dodać tego wsparcia dla starej architektury.
Więcej o wsparciu React 18 w React Native możesz przeczytać tutaj.
Hermes dołączony w pakiecie
Przed tą wersją Hermes i React Native były wydawane osobno. To prowadziło do niejasności, która wersja Hermesa jest kompatybilna z którą wersją React Native. Aby rozwiązać ten problem, począwszy od React Native 0.69 będziemy dostarczać kompatybilną wersję Hermesa wraz z React Native. Ta zmiana sprawi, że używanie Hermesa w React Native będzie znacznie stabilniejsze.
React Native automatycznie dobiera właściwą wersję Hermesa, jednak upewnij się, że wykonasz kroki w pomocniku aktualizacji, aby zapewnić poprawne działanie integracji. Jeśli nie masz jeszcze włączonego Hermesa, możesz postępować zgodnie z instrukcjami tutaj. Choć będziemy nadal wspierać inne silniki JavaScript, zalecamy wszystkim migrację na Hermesa, aby zapewnić najlepsze doświadczenia i umożliwić nam lepsze wsparcie.
Uwaga: użytkownicy Nowej Architektury na Androida będą musieli skompilować Hermesa ze źródeł. Użytkownicy Windows dodatkowo powinni wykonać te kroki.
Jeśli chcesz dowiedzieć się więcej o działaniu Hermesa dołączonego w pakiecie React Native, możesz zapoznać się ze szczegółową dokumentacją tutaj.
Nowa Architektura
Kontynuujemy wdrażanie Nowej Architektury zarówno na Androida, jak i iOS. Jeśli jeszcze nie zmigrowałeś swojej aplikacji lub biblioteki, postępuj zgodnie z instrukcjami tutaj. Możesz też przeczytać najnowsze informacje o narzędziach i zasobach dla Nowej Architektury.
Najważniejsze zmiany w 0.69
Jak wspomniano, najważniejsze ulepszenia w tym wydaniu koncentrują się na obsłudze React 18 i dołączonym Hermesie. Wystąpiły jednak także inne znaczące zmiany, w tym:
-
Wycofanie wsparcia dla iOS/tvOS SDK 11.0 - wymagana jest teraz wersja 12.4+
-
Lepsze wsparcie dla użytkowników M1 tworzących aplikacje na Androida
-
Dodanie nowego pliku konfiguracyjnego
.xcode.envdla bardziej deterministycznego lokalizowania pliku wykonywalnego Node -
React Native używa teraz najnowszego API paska stanu z Androida 11
-
Nowa opcja
hotkeysEnabledw menu debugowania iOS
Zmiany łamiące kompatybilność
Wystąpiły również pewne zmiany łamiące kompatybilność:
-
React Native CLI został zaktualizowany do nowej wersji głównej 8.0:
- Polecenia
linkiunlinkzostały usunięte na rzecz automatycznego linkowania - Przestarzałe
initCompatzostało usunięte - zamiast tego użyj poleceniainit - Usunięto przestarzałe właściwości
run-android - Usunięto polecenia
installiuninstall - Usunięto zasoby i haki z
react-native.config.js- należy usunąć te właściwości z konfiguracji podspecPathzostał usunięty z konfiguracji zależności iOS- Usunięto opcję
--project-pathzrun-ios - Zmieniono wykrywanie katalogu źródłowego iOS - zamiast projektu Xcode szuka teraz pliku Podfile
- Polecenia
-
Wsparcie dla
console.disableYellowBoxzostało wycofane -
Przestarzałe typy właściwości zostały usunięte (cdfddb4dad, 3e229f27bc, 10199b1581)
-
removeListener, przestarzałe od RN 0.65, zostało usunięte z Appearance -
Jeśli używałeś
SegmentedComponentIOS, musisz teraz zastąpić go biblioteką stron trzecich, np. segmented-control (235f168574)
Aktualizacje
Zaktualizowaliśmy także niektóre zależności:
-
Aktualizacja AGP do wersji 7.1.1 - zalecamy korzystanie z tej wersji w aplikacjach
-
Biblioteka
boostdla Androida została zaktualizowana do wersji 1.76 w celu wyrównania z wersją na iOS -
Zaktualizowano Ruby do wersji 2.7.5
-
Bezpośrednie zależności metro zostały uaktualnione do wersji 0.70.1
Pełną listę zmian możesz sprawdzić w dzienniku zmian.
Podziękowania
To wydanie było możliwe dzięki 80 kontrybutorom i ich 629 commitom - dziękujemy wszystkim!
Jesteśmy również wdzięczni testerom wydania, osobom wspierającym i wszystkim, którzy przekazali swoje opinie, aby zapewnić jak największą stabilność tego wydania.

