开发者问题收集

React-Native-Web 错误:rnw_blogpost.bundle.js:1414 未捕获的类型错误:无法读取未定义的属性(读取‘isBatchingLegacy’)

2022-03-29
3913

react-native-web 包添加到现有的 RN 应用程序(使用 react-native init 制作)。按照此站点的设置:

https://arry.medium.com/how-to-add-react-native-web-to-an-existing-react-native-project-eb98c952c12f

项目编译成功,但在浏览器中我得到一个空白的白色屏幕和一个循环的错误:

Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy')

我找不到关于这个错误的任何信息,我已经追踪了相关文件,但不确定如何继续。

3个回答

react-test-renderer 软件包从 v17 升级到 v18 后,我在运行测试时遇到了相同的错误消息。因此,就我而言,我必须将 react-test-renderer 从 v18 降级到 v17, react 从 v17 升级到 v18 也可以纠正此错误。

根据 此讨论 ,isBatchingLegacy 是 react-test-renderer 中已弃用的函数。

因此,我对此不确定,因为我不知道您现有的 RN 应用中有哪些软件包,但您可以检查您拥有的软件包版本,以查看错误是否可能来自此处。

nboyet
2022-04-04

我遇到了同样的问题。请确保 package.json 中的所有 React 依赖项都处于同一版本。

"react": "~18.0.0",
"react-dom": "^18.0.0",
"react-test-renderer": "^18.0.0"
lillybilly
2022-04-15

谢谢,我刚刚花了 4 个小时试图弄清楚为什么我在使用 react-native-testing-library 时遇到了与您相同的错误

import { render } from "@testing-library/react-native";

降级了 package.json 上的类型

"devDependencies": {
  "@testing-library/react-native": "^9.1.0",
  "jest": "26",

  ...

  --"@types/react-test-renderer": "18.0.0",
  ++"@types/react-test-renderer": "17.0.1",
}

现在可以正常工作了

David Leuliette
2022-04-13