如何将 react-native 升级到最新版本

IT技术 reactjs react-native
2021-05-08 13:43:18

我正在尝试升级到最新版本的 react-native(react-native-0.26.2) 以便我可以使用 react-native-flux-router。

我收到此错误: 截图错误

Chrome 控制台仅显示默认错误消息。

这是我的 package.json 文件

      "dependencies": {
    "@remobile/react-native-splashscreen": "^1.0.3",
    "firebase": "^3.0.3",
    "jwt-decode": "^2.0.1",
    "moment": "^2.12.0",
    "node-uuid": "^1.4.7",
    "q": "^1.4.1",
    "react": "15.0.2",
    "react-native": "0.26.2",
    "react-native-action-button": "^1.1.4",
    "react-native-android-statusbar": "^0.1.2",
    "react-native-animatable": "^0.6.0",
    "react-native-button": "^1.5.0",
    "react-native-device-info": "^0.9.3",
    "react-native-drawer": "^2.2.3",
    "react-native-file-uploader": "0.0.2",
    "react-native-gifted-spinner": "0.0.4",
    "react-native-image-picker": "^0.18.17",
    "react-native-keep-screen-on": "^1.0.3",
    "react-native-maps": "^0.4.2",
    "react-native-modalbox": "^1.3.3",
    "react-native-orientation": "^1.16.0",
    "react-native-router-flux": "^3.26.5",
    "react-native-simple-store": "^1.0.1",
    "react-native-vector-icons": "^2.0.2",
    "react-timer-mixin": "^0.13.3",
    "underscore": "^1.8.3"
  },
  "devDependencies": {
    "eslint": "2.10.2",
    "eslint-plugin-react": "5.1.1",
    "eslint-plugin-react-native": "1.1.0-beta"
  }

这是 adb logcat 的输出

logcat 输出

升级步骤:注意*为了使当前设置工作

“react-native”:“0.25.1”,“react”:“0.14.5”,“react-native路由器通量”:“3.22.23”

我必须安装这个特定版本的

“断言”:“1.3.0”

. 原因是我遇到了缓冲区异常,经过搜索,我找到了未知module缓冲区的解决方案

当我尝试升级时,我得到了最新版本的 react-native 和 react。然后我在看到 react-native 需要的警告信息后降级了 react 的版本

“react”:“15.0.2”

然后我删除了 assert 包。我尝试了卸载应用程序和重新编译的所有方法,我尝试重新启动计算机和手机。我从搜索中唯一找到的是这个搜索结果

所以我什至在全球范围内安装了最新版本的 babel,但不确定是否有任何作用。然后我还确保我在所有视图的构造函数中都有一些东西。

 export default class Home extends Component {
    constructor(props) {
        super(props);
        this.state = {
            foo: 'bar'
        }
    }

我不确定接下来要做什么,因为控制台中没有有用的错误。

1个回答

在 React Native 0.26 及更高版本中,React 本身不再与 React Native 捆绑在一起。此错误似乎是由propType您或第三方组件尝试使用定义引起的PropTypes.object

您需要更新有问题的组件或更改自己的组件以PropTypes直接从react包中访问如下所示:

import React, { Component, PropTypes } from 'react';

class SomeComponent extends Component {
  static propTypes = {
    someProp: PropTypes.object
  };
}