react-native - 类型错误 : Cannot read property 'ReactCurrentOwner' of undefined

标签 react-native jestjs

我正在我正在开发的 react-native 应用程序中运行单元测试,其中三个失败并显示以下消息:

TypeError: Cannot read property 'ReactCurrentOwner' of undefined

错误似乎不是由我的代码引起的,而是由 react-test-renderer (在两个测试中)和 enzyme-adapter-react-16 引起的>(在一项测试中)。

这是一个 expo 应用程序,单元测试正在运行。然后我弹出了。我换了

"jest": {
  "preset": "jest-expo"
},

"jest": {
  "preset": "react-native"
},

我的所有其他测试都在运行。三个失败的测试是唯一使用 react-test-rendererenzyme-adapter-react-16 的测试。

我已经尝试(很多次)删除 node_modules 并重新安装。以下是我正在使用的版本:

"devDependencies": {
  "babel-preset-react-native-stage-0": "^1.0.1",
  "deep-freeze": "^0.0.1",
  "enzyme": "^3.1.1",
  "enzyme-adapter-react-16": "^1.0.4",
  "eslint": "^4.9.0",
  "jest": "^21.2.1",
  "react-dom": "^16.0.0",
  "react-test-renderer": "^16.0.0"
},
"scripts": {
  "start": "react-native start",
  "android": "react-native run-android",
  "ios": "react-native run-ios",
  "test": "jest"
},
"jest": {
  "preset": "react-native"
},
"dependencies": {
  "assert": "^1.4.1",
  "react": "16.0.0",
  "react-native": "^0.50.1",
  "react-redux": "^5.0.6",
  "redux": "^3.7.2",
  "yarn": "^1.3.2"
}*

最佳答案

我也遇到了这个问题,通过安装相同版本的 react、react-dom 和 react-test-renderer 解决了这个问题。

一些背景:

  • 我有一个项目,其中提到的包是 16.2.0(它们是
    最初使用该版本安装),一切正常。
  • 在另一个项目中,我有 react 和 react-dom 15.4.2 并更新了它们 通过删除 node_modules 更改版本到 16.2.0
    package.json 并没有从头开始安装所有依赖项
    帮助。我不得不将 react-test-renderer 回滚到 15.4.2 并且只有
    然后我设法解决了这个问题。不知道有没有
    这是与项目或环境相关的问题,但我从未安装过 全局 react 或 react-dom。

所以尝试让 react-test-renderer 与你的 react 和 react-dom 版本相同。

关于react-native - 类型错误 : Cannot read property 'ReactCurrentOwner' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47204569/

相关文章:

javascript - 如何在 componentDidMount 中模拟类函数

css - 如何在 Enzyme 中测试 CSS 悬停 - React

reactjs - 使用 react-app-rewired 和 custom-cra 时如何配置 Jest?

react-native - React Native 中的后退按钮

amazon-web-services - AWS Amplify with React Native : Credentials should be scoped to a valid region, 而不是 us-east-1

android - 如何在 React Native 中的 TextInput 上设置焦点监听器

react-native - zIndex 不适用于 react 原生项目

jquery - 如何使用 jest 测试导入 jQuery UI 组件的 React 组件

javascript - 如何从 Jest 获取 JUnit XML 输出?

react-native - 如何在运行时在 react-native-mapbox-gl 中显示/隐藏光栅层(可见性属性可见/无)