React-Native-Web error: rnw_blogpost.bundle.js:1414 Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy')

React-Native-Web error: rnw_blogpost.bundle.js:1414 Uncaught TypeError: Cannot read properties of undefined (reading 'isBatchingLegacy')

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')

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

在将 react-test-renderer 包从 v17 升级到 v18 后,运行 测试时出现了相同的错误消息。因此,就我而言,我不得不将 react-test-renderer 从 v18 降级到 v17 or 升级 react 从 v17 到 v18 也纠正了这个错误。

根据 this discussion,isBatchingLegacy 是 react-test-renderer.

中已弃用的函数

所以,我不确定,因为我不知道你现有的 RN 应用程序中有哪些包,但你可以检查你的包版本,看看错误是否可能来自这里

谢谢,我只花了 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",
}

现在可以使用了

我运行遇到了同样的问题。确保所有 React 依赖项都在 package.json.

中的同一版本
"react": "~18.0.0",
"react-dom": "^18.0.0",
"react-test-renderer": "^18.0.0"