亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

React Native 升級到版本到0.25.1

標簽:
React.JS

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 [email protected] 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 [email protected]: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包下。



作者:姜家志
链接:https://www.jianshu.com/p/71a8c2537705


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消