React-Native:模块AppRegistry未注册为可调用模块

160
我目前正在尝试在Android模拟器上运行ES6 react-native-webpack-server。不同之处在于,我已经升级了我的package.jsonbuild.grade以使用react 0.18.0,并且在启动时遇到了此错误。据我所知,AppRegistry已正确导入。即使我注释掉代码,此错误仍会出现。这在iOS上没有问题。

我错在哪里?

编辑:尝试其他支持0.18.0的样板文件后,我仍然遇到相同的问题。

进入图像描述


我在0.19和0.20版本中遇到了同样的问题,尝试了所有方法但都没有成功。@Dustin有任何更新吗? - Shprink
@Shprink 我也遇到了0.20的这个问题。同时收到了这个错误信息 One of the sources for assign has an enumerable key on the prototype chain. - Josh Ferrara
30个回答

0
如果您正在使用Windows机器,您需要执行cd android,然后执行./gradlew clean,最后运行react-native run-android

0

我在Expo中遇到了这个错误,因为我导出了错误的组件名称,例如:

const Wonk = props => (
  <Text>Hi!</Text>
)

export default Stack;

0
我通过以下步骤解决了这个问题:
  1. cd android
  2. ./gradlew clean
  3. taskkill /f /im node.exe
  4. 从 Android 卸载应用程序

0

对我来说,我只需使用以下方式链接React Native:react-native link


也许可以稍微扩展一下这个内容。 - user1531971

0
在iOS上我遇到了这个问题。
但是通过输入command+shift+k清理构建文件夹并重新构建后,问题得到了解决。
你还应该检查方案是否为debug。

0
在我的情况下,我的index.js指向了另一个js文件而不是我的启动器js文件,这个文件中没有包含AppRegistry.registerComponent()
因此,请确保你的index.js文件指向注册类。

0

对我来说,这是一个关于react-native依赖于下一个版本的react包的问题,而在我的package.json中指定了旧版本。升级我的react版本解决了这个问题。


0

这可能是由于节点、Pod、Gradle或其他任何缓存问题造成的,最好进行完整的清除操作。为此,请使用 React Native 清理项目


0

删除 android/.gradle 和 reac-module, 然后运行 yarn install 和 run-android。


尝试添加更多信息,如为什么会出现此错误。 - salvi shahzad

0
我经常遇到这个错误的典型原因是导入组件时出错(比如使用错误的名称)。如果导出组件时也出现问题,然后正确地导入它,同样会出现此类错误。这可能看起来很原始,但犯错误是人之常情,而且很多时候都会出现这种错误。如果清理项目并重新启动无法解决问题,那么很可能就是这个原因。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接