启用了远程调试后,永久性React-Native错误消失了

时间:2018-08-24 19:05:14

标签: react-native react-native-android

我正在构建一个React-Native应用,每当我在Android模拟器上运行它时,都会出现此错误:

  

对象作为React子对象无效(找到:带有键的对象   {$$ typeof,类型,键,引用,道具,_owner,_store})。如果你想   渲染孩子的集合,请改用数组。   throwOnInvalidObjectType       D:\ rn \ manager \ node_modules \ react-native \ Libraries \ Renderer \ ReactNativeRenderer-dev.js:7436:6

由于此错误对我没有任何意义,因此我决定在Chrome中启用“远程调试JS”,以查看是否可以理解我的错误。但是启用“远程调试”后,错误消失了。

如果我构建项目并将应用程序安装在真实设备上,则错误会再次出现。

但是我感觉自己陷入了22个陷阱,因为如果我尝试调试,则不会出错,而如果关闭调试,则会出错。

总有办法解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

该错误提到您不应该在render()方法中使用对象。由于您未发布任何代码,因此可以执行以下操作: 继续从render()方法中删除元素,直到不再收到错误为止。一旦消失,请开始放回代码,直到再次遇到该错误为止。导致错误的代码将是或返回对象,例如可能是拼写错误导致返回对象而不是例如字符串。

答案 1 :(得分:0)

TL; DR:已停止使用firebase并改为使用react-native-firebase

对我来说,问题不是我的任何组件或类中的render方法。在尝试了上述答案后,我意识到基本上删除了所有文件,只剩下一个文件。我更改了render方法以在一个视图中显示文本,但是仍然出现错误。

然后我开始一个接一个地删除要在该文件中导入的模块,发现这是Firebase模块卸载的firebase和安装的react-native-firebase。