我正在构建一个React Native 0.57应用,该应用在IOS上运行良好,但在Android上失败,并出现以下错误:
Objects are not valid as a React child (found: object with keys {$$typeof, type, key, ref, props, _owner, _store}). If you meant to render a collection of children, use an array instead.
throwOnInvalidObjectType ReactNativeRenderer-dev.js:8779:6
reconcileChildFibers ReactNativeRenderer-dev.js:9842:31
reconcileChildren ReactNativeRenderer-dev.js:10319:6
updateHostRoot ReactNativeRenderer-dev.js:10683:6
beginWork ReactNativeRenderer-dev.js:11360:28
performUnitOfWork ReactNativeRenderer-dev.js:14091:21
workLoop ReactNativeRenderer-dev.js:14129:41
renderRoot ReactNativeRenderer-dev.js:14226:15
performWorkOnRoot ReactNativeRenderer-dev.js:15193:17
performWork ReactNativeRenderer-dev.js:15090:24
performSyncWork ReactNativeRenderer-dev.js:15047:14
requestWork ReactNativeRenderer-dev.js:14925:19
scheduleWork ReactNativeRenderer-dev.js:14711:16
scheduleRootUpdate ReactNativeRenderer-dev.js:15429:15
updateContainerAtExpirationTime ReactNativeRenderer-dev.js:15462:28
updateContainer ReactNativeRenderer-dev.js:15494:4
render ReactNativeRenderer-dev.js:16142:20
renderApplication renderApplication.js:59:34
run AppRegistry.js:101:10
runApplication AppRegistry.js:195:26
__callFunction MessageQueue.js:349:47
<unknown> MessageQueue.js:106:26
__guard MessageQueue.js:297:10
callFunctionReturnFlushedQueue MessageQueue.js:105:17
(当然)我在Internet等上进行搜索,每个人都在谈论我不使用的firebase。
据我所知,使用RN 0.56时,一切正常,并且由于升级到0.57,此错误开始发生。 解决方法是启用调试器...但是该发行版存在相同的问题。
问题发生在模拟器和真实设备上。
该应用程序在IOS上运行时,我想这是来自android项目。
如何调查此问题?
更新
我发现在应用程序的import 'core-js'
文件顶部添加index.js
可以避免该错误。
此core-js
是许多软件包的依赖项,例如react-native
本身。
为什么此导入解决了该问题,为什么我必须这样做,尤其是在iOS版本运行良好的情况下?