Przejdź do treści głównej

Ogłaszamy React Native 0.66

· 5 minut czytania
Luna Wei
Luna Wei
Software Engineer @ Meta
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 →

Dziś wydajemy React Native v0.66 z obsługą Android 12 i iOS 15, wraz z poprawkami i ogólnymi aktualizacjami.

Najważniejsze zmiany

Obsługa kliknięć w widoki potomne poza granicami rodzica na Androidzie

Dziękujemy @hsource za dodanie obsługi interakcji dla elementów renderowanych poza granicami widoku rodzica poprzez overflow: visible. Jest to powszechny przypadek użycia i zbliża React Native na Androidzie do standardów webowych.

Więcej szczegółów znajdziesz w pull requeście.

Nowe uprawnienia Bluetooth na Androidzie

Dodaliśmy obsługę nowych uprawnień Bluetooth w przygotowaniu do Androida 12 i planujemy zaktualizować targetSDKVersion do 31 w następnym wydaniu.

Lepsze wsparcie dla Apple Silicon, Xcode 13 i iOS 15

To wydanie wprowadza szereg rozwiązań zwiększających niezawodność kompilacji Xcode dla iOS na maszynach Mac z procesorem Apple Silicon (M1).

W szczególności nowy szablon aplikacji zawiera obejście dla CocoaPods (dzięki @mikehardy!). Aby zastosować, upewnij się, że plik Podfile twojej aplikacji zawiera __apply_Xcode_12_5_M1_post_install_workaround(installer) dodane w kroku post_install.

Dodatkowo RCT-Folly.podspec został zaktualizowany, aby zapobiec błędom linkera arm64.

Sprawdź ten post, w którym dzielimy się wskazówkami dotyczącymi przygotowania aplikacji na iOS 15 i Android 12.

Hermes 0.9.0

Hermes 0.9.0 koncentruje się głównie na zmniejszeniu luki między wydaniem Hermesa a wydaniem React Native.

Spośród ~400 commitów zawiera ogólne poprawki błędów oraz optymalizacje pamięci i rozmiaru.

Więcej szczegółów znajdziesz w wydaniu Hermes 0.9.0.

Nocne i „commitowe” wydania

W ostatnim poście na blogu wspominaliśmy, że jednym z naszych celów w drugiej połowie 2021 roku jest usprawnienie procesu wydawniczego, aby był szybszy i stabilniejszy. W ramach tych działań pracujemy nad zwiększeniem stabilności React Native na gałęzi głównej i redukcją błędów wykrywanych podczas procesu Release Candidate.

Choć publikujemy nocne wydania React Native od ponad roku, większość projektów nie korzystała z nich efektywnie. Teraz są łatwiej dostępne i mamy nadzieję, że będą pełnić rolę kandydatów do wydań. Nocne wydania publikowane są w npm pod tagiem "nightly".

Aby usprawnić testowanie pojedynczych commitów, CI React Native będzie teraz tworzyć artefakty w formacie tarball dla każdego commita na gałęziach głównej i wydaniowych oraz dla każdego PR-a. Nazywamy je "commitly". Nie będą publikowane w npm, ale można je pobrać bezpośrednio z CircleCI. Instrukcje poniżej.

Chcesz pomóc w mergowaniu PR-a? Testując powiązane "commitly" i weryfikując zmiany, dostarczysz cenne informacje, które pomogą włączyć zmiany do kodu!

Korzystanie z wydań nocnych (Nightlies)

Migracja projektu do nocnego wydania React Native jest bardzo podobna do procesu aktualizacji do standardowej wersji, z tym że narzędzia jak Upgrade Helper obecnie nie współpracują z wydaniami nocnymi. Dlatego zalecamy najpierw zaktualizować projekt do najnowszego stabilnego wydania, jeśli jeszcze tego nie zrobiono. Następnie uruchom yarn upgrade react-native@nightly, aby zainstalować najnowsze wydanie nocne. Pamiętaj, że mogą być potrzebne dodatkowe zmiany, aby projekt działał poprawnie.

Korzystanie z wydań commitowych (Commitlies)

Screenshot of CircleCI artifact panel to find tarball

Find the "build_npm_package-1" job related to a commit and head to the "Artifacts" panel to download the tarball for the commitly.

Podobnie jak przy wydaniu nocnym, najpierw upewnij się, że projekt został zaktualizowany do najnowszej stabilnej wersji. Następnie przejdź do pulpitu react-native na Circle CI i znajdź workflow wywołany przez dany commit. Powinieneś zobaczyć zadanie o nazwie build_npm_package. W panelu "Artifacts" znajdziesz link do pobrania pliku tarball. Następnie uruchom:

# Update your react-native dependency to the tarball
# using your preferred package manager
$ yarn add <path to tarball>
$ npm add <path to tarball>

Podziękowania

To wydanie zawiera 621 commitów od 92 współtwórców! Dziękujemy wszystkim nowym i dotychczasowym kontrybutorom! Pełny changelog znajdziesz tutaj.

Specjalne podziękowania dla tych współtwórców za pomoc w przygotowaniu, testowaniu i usuwaniu blokad tego wydania!