Den nemmeste måde at opgradere React Native til den nyeste version

Jeg har læst mange horrorhistorier fra folk, der har brugt dage på at prøve at opgradere React-Native til den nyeste version. Den officielle retningslinje som nævnt her fungerer i de fleste tilfælde ikke.

Nedenfor er den måde, jeg fandt ud af efter så mange forsøg og fejl at være den nemmeste.

Der er et vidunderligt værktøj, der hedder rn-diff-purge (lad dig ikke narre af navnet, det gør ikke nogen form for udrensning?). Hvad dette værktøj gør er at sammenligne forskellige versioner af react-native og viser dig forskellene fra kildekodeniveauet. Ved at se forskellene kan du foretage ændringer i overensstemmelse med bygningen. Det afhænger af antallet af biblioteker, du bruger, men den oprindelige build kan lykkes med det samme eller vise nogle fejl. Derefter kan du arbejde på disse fejl en efter en.

Jeg har brugt værktøjet til at opgradere react-native tre gange indtil videre, og det har taget mig fra 30 minutter til 1 time at afslutte opgraderingen.

Nedenfor er de trin, jeg tager hver gang jeg beslutter at lave en opgradering:

  • Sørg for, at din codebase er i solid tilstand, hvilket betyder at du har strøget alle kendte problemer.
  • Sørg for, at du har begået alle dine ændringer:
git add . git commit -m “Last commit before upgrade to RN version 0.59.0” git push
  • Kopier og indsæt dette i din browser: //github.com/pvinis/rn-diff-purge/compare/version/0.58.6..version/0.59.0
  • Foretag ændringer manuelt i henhold til de viste forskelle.
  • Kør npm i for at opdatere versioner
  • Byg og implementer via Android Studio og Xcode

Hvis der ikke vises nogen fejl, skal du starte din enhedstest.

Hvis der vises nogle fejl, skyldes fejlene mere sandsynligt de biblioteker, du bruger. Hvis dette er tilfældet, skal du gå til github repo for det bibliotek, der giver fejl.

For eksempel, da jeg opgraderede React-Native fra 0.58.6 til 0.59.0, gav et bibliotek, jeg brugte (“lottie-react-native”) mig nogle kompileringsfejl under Android Studio. Så jeg gik til deres github-side og fandt dette problem. Derefter fulgte jeg instruktionerne nævnt der for at løse problemet.

Du vil helt sikkert støde på mange¹ problemer, men de fleste problemer (hvis ikke alle), jeg har stødt på hidtil, er forårsaget af de biblioteker, jeg brugte, ikke af React-Native selv.

Når du er tilfreds med alle ændringerne, skal du løbe for git diffat se ændringerne git add .git commit -m "Complete React Native Upgrade"git push.

Tillykke! Du er klar til at bruge de nyeste funktioner fra de nyeste React-Native versioner.

Bemærk: nogle problemer har ikke øjeblikkelige løsninger (som muligvis kræver en ny version af selve bibliotekerne). Men den gode nyhed er, at alle emner vil have en slags løsning. ?