React Native-ын шинэ хувилбарт шилжих
React Native-ын шинэ хувилбарт шилжсэнээр та илүү олон API, харагдац, хөгжүүлэгчийн хэрэгслүүд болон бусад зүйлсийг ашиглах боломжтой болно. Шинэ хувилбарт шилжихэд амар бөгөөд бид ч үүнийг аль болох хялбархан байхаар хийж өгсөн.
Expo төслүүд
Expo төслөө React Native-ын шинэ хувилбарт шилжүүлэхийн тулд package.json
файл дахь react-native
, react
, expo
пакэжийн хувилбаруудаа шинэчлэх шаардлагатай. Энэхүү жагсаалтаас ямар хувилбаруудыг дэмждэг болохыг хараарай. Мөн та app.json
файлдаа sdkVersion
-ыг зөв тохируулж өгөх хэрэгтэй.
Хэрхэн төслөө шинэчлэх тухай сүүлийн үеийн мэдээллийг SDK ашиглан Expo шинэчлэх гэснээс уншаарай.
React Native projects
Ердийн React Native төслүүд нь Android, iOS болон JavaScript төслүүдийг агуулсан байдаг тул шинэчлэл хийхэд түвэгтэй байх нь бий. React Native-ыг хуучин хувилбарыг шинэчлэхийн тулд та эдгээрийг хийх хэрэгтэй.
Git ашиглан шинэчлэх
React Native CLI нь upgrade
командтай байх ба энэ нь эх файлыг нэг үйлдлээр л шинэчлэх боломж олгодог. rn-diff-purge үүнд тусалдаг.
1. Төсөлдөө Git ашиглах
Git ашиглаагүй төслүүдэд л энэхүү алхам хамаатай болно. Хэрэв Git ашигладаг бол үүнийг алгасаарай. Хэрэв таны төсөлд Git-ын хувилбарт систем ажилладаггүй бол Mercurial, SVN ашиглах эсвэл юу ч ашиглахгүй байж бас болно. Та гэхдээ
react-native upgrade
ашиглахын тулд систем дээрээ Git суулгах шаардлагатай. Git ньPATH
дээр мөн байх хэрэгтэй. Хэрэв төсөл тань Git ашигладаггүй бол эхлүүлээд commit хийгээрэй:
git init
git add .
git commit -m "upgrade RN"
Шинэчлэх процесс дуусаж, аливаа асуудалгүй болсны дараа та .git
-ыг арилгаж болно.
upgrade
командыг ажиллуулах
2. Сүүлийн хувилбарт шилжихийн тулд доорх командыг өгөөрэй:
react-native upgrade
Та 0.59.0-rc.0
гэхчлэн React Native-ын тодорхой хувилбарт шинжлэхээ зааж өгөх боломжтой:
react-native upgrade 0.59.0-rc.0
Энэ төсөл нь git apply
-ыг ашиглан 3 замт холболтоор шинэчлэгдэнэ. Тиймээс ямар асуудал зөрчил гарвал тэрийг нь засах хэрэгтэй.
4. Асуудал зөрчлийг шийдэх
Асуудалтай файлууд нь өгөгдлийн хязгаарлагч агуулсан байх ба өөрчлөлт хаана байгааг тодорхой харуулдаг. Жишээлбэл:
13B07F951A680F5B00A75B9A /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
<<<<<<< ours
CODE_SIGN_IDENTITY = "iPhone Developer";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/HockeySDK.embeddedframework",
"$(PROJECT_DIR)/HockeySDK-iOS/HockeySDK.embeddedframework",
);
=======
CURRENT_PROJECT_VERSION = 1;
>>>>>>> theirs
HEADER_SEARCH_PATHS = (
"$(inherited)",
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
"$(SRCROOT)/../node_modules/react-native/React/**",
"$(SRCROOT)/../node_modules/react-native-code-push/ios/CodePush/**",
);
"Бидний" гэдэг нь "танай баг"-ийг харин "тэдний" гэдэг нь "React Native хөгжүүлэгчийн баг"-ийг хэлж байна гэж ойлгоорой.
Өөр арга
Зөвхөн дээрх арга болохгүй бол ашиглаарай.
react-native
dependency шинэчлэх
1. react-native
npm пакэжийн сүүлийн хувилбарыг эндээс шалгах (эсвэлnpm info react-native
ашиглаж шалгаарай).
Одоо npm install --save
ашиглан react-native
хувилбарыг суулгаарай:
$ npm install --save react-native@X.Y
# where X.Y is the semantic version you are upgrading to
npm WARN peerDependencies The peer dependency react@~R included from react-native...
Хэрэв peerDependency-ын анхааруулга гарч ирвэл react
-аа шинэчлээрэй:
$ npm install --save react@R
# where R is the new version of react from the peerDependency warning you saw
2. Төслийнхөө template-ыг шинэчлэх
Шинэ npm пакэж нь react-native init
-ыг ажиллуулахад гарч ирдэг файлуудын шинэ хувилбаруудыг агуулсан байдаг. Тухайлбал, iOS болон Android дэд төслүүд дээр.
Та rn-diff-purge-руу орж template файлуудад өөрчлөлт орсон эсэхийг хараарай. Ямар нэг өөрчлөлт байхгүй бол шууд төслөө хийж, хөгжүүлэлтээ үргэлжлүүлээрэй. Зарим нэг жижиг өөрчлөлт орсон бол та өөрөө шинэчлэн, дахин хийх хэрэгтэй болно.
Хэрэв их өөрчлөлт байх юм терминал дээр үүнийг ажиллуулаарай:
$ react-native upgrade
Энэ нь сүүлийн template-тай таны файлууд зохицож байгаа эсэхийг шалгаж, доорх үйлдлийг хийдэг:
- Хэрэв template дотор шинэ файл байх юм бол шууд үүсгэнэ.
- Хэрэв template дотор файлтай чинь төстэй файл байх юм бол алгасна.
- Хэрэв төсөл дэх файл чинь template-д байгаагаас өөр байх юм бол таныг файлаа хадгалах эсвэл тухайн template-ын хувилбараар сольж бичих сонголт өгнө.
Өөрөө шинэчлэх
Зарим шинэчлэлийг заавал өөрөө 0.28-аас 0.29, эсвэл 0.56-аас 0.57 гэх мэтээр шинэчлэх хэрэгтэй болдог. Шинэ хувилбарт шилжих гэж байгаа бол шинэ хувилбарын мэдээлэл-тэй танилцаж, таны төсөлд ямар өөрчлөлтийг өөрөө бичиж оруулах хэрэгтэй тухай уншаарай.