React Native 升級到版本到0.25.1

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';
.....
import React

提示的內容就是告訴我們需要把Component,React等從包react中引入,不能再從react-native中引入。
如果要更新引入,基本上要修改所有的文件,還好我們從更新說明中可以看到有工具來做這個事情。
codemod-RN24-to-RN25是一個升級項目文件支持React Native 25的工具,更改文件的import,讓需要引入react的文件能夠正確的import。
使用方法:

  1. 安裝jscodeshift

    npm install -g jscodeshift

  2. clone項目,

git clone git@github.com:sibeliusseraphini/codemod-RN24-to-RN25.git

  1. copy transform.js

cd codemod-RN24-to-RN25
cp transform.js YOUR_PROJECT_PATH

  1. 運行命令轉換文件

    cd YOUR_PROJECT_PATH
    jscodeshift transform.js

等待運行完成之后可以看到React以及Component等都能被正確的引用到react包下。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容