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

时间:2016-05-27 11:10:28

标签: reactjs react-native

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

我收到此错误: screenshoterror

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 output

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

  

"反应原生":" 0.25.1",   "反应":" 0.14.5",   " react-native-router-flux":" 3.22.23"

我必须安装此特定版本的

  

"断言":" 1.3.0"

。原因是我得到了一个缓冲区异常,在搜索之后这就是我找到的solution to unknown module buffer

当我尝试升级时,我得到了最新版本的react-native并做出反应。然后,在看到react-native需要的警告消息

后,我降级了反应版本
  

"反应":" 15.0.2"

然后我删除了断言包。我尝试了从卸载应用程序和重新编译的所有内容,我尝试重新启动计算机和手机。我在搜索中找到的唯一内容是search result

所以我甚至在全球范围内安装了最新版本的babel,但不确定它能做些什么。然后我还确保在所有视图中的构造函数中都有一些东西。

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

我不确定下一步该做什么,因为控制台中没有有用的错误。

1 个答案:

答案 0 :(得分:5)

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

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

react