只有在设备上打开时,应用才会立即崩溃。它在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
答案 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)
我通过创建一个新项目并将所有文件复制到其中来实现它。