react-native Navigator 页面跳转

来源:互联网 发布:微信连接失败检查网络 编辑:程序博客网 时间:2024/06/05 00:12

      最近一直被这个坑,坑疯了。

      现在react-native升级到0.50  ,但是 0.44之后,Navigator被从react native的核心组件库中剥离到了一个名为react-native-deprecated-custom-components的单独模块中。如果你需要继续使用Navigator,则需要先yarn add react-native-deprecated-custom-components安装,然后从这个模块中import,即import { Navigator } from 'react-native-deprecated-custom-components'.

       编译项目之后会出现下面的错误:

我们找到对应错误的地方:


而通过上面这个包里的源码我们可以发现,它使用了 React.PropTypes,问题正是出在这里。

其实从 React 16.0.0 开始,PropTypes 就已经不再由 React 提供了,而 fb 专门提供了 prop-types 模块,需要通

import PropTypes from 'prop-types'

来使用 PropTypes。0.48 版本的 RN 使用的是 16.0.0-alpha.12 版本的 React,alpha 版本还没有移除 PropTypes,所以之前项目不会有任何问题。而到了 0.49版本,自动将 React 升级到了 16.0.0-beta.5,这个版本已经移除了 React.PropTypes,所以再编译就会报错了,因为找不到 PropTypes 了。

而此时我发现 react-native-deprecated-custom-components 这个包还没有更新,为了解决这个问题,我在 package.json 文件里将 React 的版本还原到了 16.0.0-alpha.12,然后执行

npm install

进行重装。完成后编译运行,项目成功启动。

下面贴出代码

App.js


       Main.js


    Second.js



原创粉丝点击