在Android设备上运行时应用程序会立即崩溃,但在Android模拟器和iOS

时间:2017-01-14 20:35:26

标签: react-native react-native-android

只有在设备上打开时,应用才会立即崩溃。它在Genymotion模拟器上运行良好,但是当它在Note 2和galaxy S7上运行时,它会立即崩溃。 Logcat显示此错误:

com.facebook.react.common.JavascriptException: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's {渲染{1}}

我已删除method, or you have multiple copies of React loaded中的所有重复导入,我尝试将反应升级到0.40,运行MainApplication.java,删除watchman watch-del-all文件夹,然后运行node_modules但是没什么好似的帮助

修改

我刚刚创建了一个新项目,我在设备上遇到了同样的错误。可能导致这种情况的原因是什么? 没关系,我删除了设备上的应用程序并重新安装,现在新项目打开正常。

这是我的npm cache clean

package.json

3 个答案:

答案 0 :(得分:0)

我得到了你的问题所在的地方。有时,当您安装第三方APP时,那些第三方APP会重新安装您的项目中的反应,这些重复版本会导致此错误。

根据您的package.json,您正在实现一些在模拟器或模拟器中正常运行的lib,但在设备上运行APP时会崩溃。

解决方案:转到已安装的每个第三方APP的node_module文件夹并搜索react。之后,使用npm uninstall lib_name命令删除该lib并运行该项目。

答案 1 :(得分:0)

在我的情况下,我被意外删除了我的com /.../ MainActivity.java& com /.../ MainApplication.java:D

一旦我将它们添加回来,它运行良好

答案 2 :(得分:-4)

我通过创建一个新项目并将所有文件复制到其中来实现它。