我也遇到过这个问题,但仅限于 Android。该问题是由我使用 nullish 合并赋值运算符 (
??=
) 引起的。例如,类似:
obj ??= {};
React Native 不支持该运算符。因此,在代码中查找所有出现的
??=
并尝试将其更改为扩展方式;例如:
if(obj == undefined)
obj = {};
在 React Native 添加对它的支持之前,您必须避免使用此运算符。
(我不确定,但是 nullish 合并运算符 (
??
) 可能会导致同样的问题,所以你也可能希望避免它。)
就我而言,在我安装了一个示例应用程序后,这个问题发生在我身上:
"metro-config": "^0.72.1"
和 "react-native": "0.70.0-rc.4"
。
当我的主应用程序仍在使用时
"react-native": "0.66.4"
当我恢复代码时它也复制了。所以我想出了这个解决方案:
yarn cache clean
和 npm cache clean -f
问题就消失了。
我的问题只是因为我导入了一个空的 json 文件,甚至没有括号 {}。所以参考上面的第一个答案,它是一个未定义的 json。