摘要:的更新策略是兩個星期迭代一個新版本使用的沒有多長時間就需要升到最新版本了,這里介紹下如何升級到版本以及其以上。使用首先要添加的依賴,如果把的版本直接升高到當前版本,比如。
React Native的更新策略是兩個星期迭代一個新版本,使用的React Natvie沒有多長時間就需要升到最新版本了,這里介紹下如何升級到版本0.25.1以及其以上。
React Native 25,一個顯著的變化是import React的時候不再從react-native中導入,而是從react中導入。所以首先需要添加react的依賴。
使用React首先要添加React的依賴,如果把react-natie的版本直接升高到當前版本,比如:"react-native": "0.31.0"。
使用npm install 安裝依賴包的時候,會提示錯誤:
npm WARN react-native@0.31.0 requires a peer of react@~15.2.1 but none was installed.
就需要我們添加對于React的依賴,可以使用命令添加React的依賴:
npm install -save react@~15.2.1
也可以在package.json中添加依賴:
{ "name": "rn310", "version": "0.0.1", "private": true, "scripts": { "start": "node node_modules/react-native/local-cli/cli.js start" }, "dependencies": { "react": "^15.2.1", "react-native": "0.31.0" } }
在運行npm install就可以自動下載依賴了。
import React from "react"React Native 25之后,除了React不再從react-native中引入之外,還包括Component,PropTypes,Children等...
這里要注意,舊版本的React是從react-native中import的。
如果升級完依賴之后,直接運行項目之后會得到一個報錯信息:
Seems you"re trying to access "ReactNative.Component" from the "react-native" pakeage. Perhaps you meant to access "React.Component" from the "React" package instead? For example, instead of : import React, { Component, View } from "react-native"; you should now: import React, { Component } from "react"; import { View } from "react-native"; .....
提示的內容就是告訴我們需要把Component,React等從包react中引入,不能再從react-native中引入。
如果要更新引入,基本上要修改所有的文件,還好我們從更新說明中可以看到有工具來做這個事情。
codemod-RN24-to-RN25是一個升級項目文件支持React Native 25的工具,更改文件的import,讓需要引入react的文件能夠正確的import。
使用方法:
安裝jscodeshift
npm install -g jscodeshift
clone項目,
git clone git@github.com:sibeliusseraphini/codemod-RN24-to-RN25.git
copy transform.js
cd codemod-RN24-to-RN25 cp transform.js `YOUR_PROJECT_PATH`
運行命令轉換文件
cd `YOUR_PROJECT_PATH` jscodeshift transform.js
等待運行完成之后可以看到React以及Component等都能被正確的引用到react包下。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/80063.html
摘要:聲明有助于保持我們的同步與底層狀態的聲明性質。值得注意的是,這些挑戰并非特定于。這導致或上出現不一致或意外錯誤。崩潰監控我們使用在和上進行崩潰報告。橋接有一個橋接,用于在本機和之間進行通信。 showImg(https://segmentfault.com/img/bVbd0FA?w=740&h=433);在Android,iOS,Web和跨平臺框架的橫向對比中,React Nativ...
摘要:聲明有助于保持我們的同步與底層狀態的聲明性質。值得注意的是,這些挑戰并非特定于。這導致或上出現不一致或意外錯誤。崩潰監控我們使用在和上進行崩潰報告。橋接有一個橋接,用于在本機和之間進行通信。 showImg(https://segmentfault.com/img/bVbd0FA?w=740&h=433);在Android,iOS,Web和跨平臺框架的橫向對比中,React Nativ...
閱讀 1311·2023-04-26 03:05
閱讀 761·2021-10-19 11:43
閱讀 3206·2021-09-26 09:55
閱讀 826·2019-08-30 15:56
閱讀 979·2019-08-30 15:44
閱讀 1228·2019-08-30 15:44
閱讀 2717·2019-08-30 14:23
閱讀 3233·2019-08-30 13:13