安装包后运行'无法读取属性'ReactCurrentOwner'未定义'

时间:2017-06-23 08:52:48

标签: react-native

我在应用启动时在ReactNative中遇到以下错误:

Cannot read property 'ReactCurrentOwner' of undefined

这通常发生在安装新软件包或在我的项目上使用不同的软件包组切换分支之后。

我可以通过运行react-native-git-upgrade来解决它,但这似乎不是一个真正的解决方案。

任何可能导致此错误的想法以及如何避免错误?

2 个答案:

答案 0 :(得分:4)

遇到了同样的问题,正如您所说,它是反应和反应原生的版本兼容性问题。如果你正在使用它,也会影响世博会。

React + React-native必须使用彼此协作的特定版本。

帮助我安装正确版本的react-community org on Github provides a table。以下是该文档中的一些示例:

  • react-native@0.41.x和0.42.x需要react@15.4.x

  • react-native@0.43.x和0.44.x需要react@16.0.0-alpha.6

  • 反应 - 天然高于0.44至0.48需要react@16.0.0-alpha.12

请注意,我做了npm install --save react@<correct version>

然后rm -rf node_modules && npm install

最后:npm start --reset-cache

我的应用再次运行!

答案 1 :(得分:0)

当您的React-dom版本领先于React版本且它们不兼容时,会发生这种情况。如下所示,由于React-dom 16与React 15不兼容,因此会出现此错误。

"react": "^15.6.2",
"react-dom": "^16.4.1",

升级react或降级react-dom,基本上使用两者的兼容版本,应该可以解决问题。