无法调用AppRegistry.registerComponent

vas*_*avi 31 javascript reactjs react-native

我创建了一个新项目使用react-native init Wevaha,之后我执行它正常工作然后我根据我的要求修改了示例应用程序再次运行它正常工作但下次运行应用程序时我得到的错误像

' Application Wevaha has not been registered.This is either due to a require() error during intialization or failure to call
Run Code Online (Sandbox Code Playgroud)

AppRegistry.registerComponent"

下面的屏幕截图请找到它 在此输入图像描述

obl*_*dor 70

您可能已经为另一个应用程序运行了另一个React Native打包程序服务器,或者AppDelegate.m中的应用程序名称与您的index.js不同.

尝试关闭所有终端窗口,仔细检查其值moduleName并再次运行项目.

  • 不能为我工作,关闭打包服务器,并检查moduleName.哎呀. (2认同)
  • 如何解决博览会应用程序的此问题? (2认同)

小智 26

对我们来说,问题是注册的应用程序的名称与根文件夹不匹配.因此,如果你的根文件夹是/ChatApp,那么注册你的应用程序:

AppRegistry.registerComponent('ChatApp', ()  => App);
Run Code Online (Sandbox Code Playgroud)


dwi*_*ilt 5

为了详细说明oblador所说的话,在关闭所有终端窗口/杀死所有其他React Native进程后,我仍然遇到这个问题。对我来说,moduleNamein 的值AppDelegate.m(在XCode项目的根目录中)不正确。我正在使用Barton Hammond的Snowflake构建,并尝试将其从“ snowflake”重命名为我自己的构建,但我错过了此值,并遇到了该错误。


Dav*_*ung 5

就我而言,它是由index.ios.js.

我改变后它有效

AppRegistry.registerComponent('AppleReactNative', () => App)
Run Code Online (Sandbox Code Playgroud)

AppRegistry.registerComponent('applereactnative', () => App)
Run Code Online (Sandbox Code Playgroud)


hax*_*por 5

就我而言,我查看了它正在侦听的打包程序端口号。这是您npm start在根项目目录中调用的结果。

?????????????????????????????????????????????????????? ?????????????????????????????????
 ? 在端口 8081 上运行打包程序。 ?
 ? ?
 ? 在开发任何 JS 项目时保持这个打包器运行。感觉 ?
 ? 如果您愿意,可以自由关闭此选项卡并运行您自己的打包程序实例?
 ? 更喜欢。?
 ? ?
 ? https://github.com/facebook/react-native ?
 ? ?
 ?????????????????????????????????????????????????????? ?????????????????????????????????

然后我通过以下方式检查哪个应用程序正在侦听该端口

lsof -i :8081

结果:

命令 PID 用户 FD 类型 设备大小/关闭节点名称
AwesomePr 8131 haxpor 9u IPv6 0x372bdab8e928e839 0t0 TCP localhost:56484->localhost:sunproxyadmin (SYN_SENT)

现在取那个PID号码,并通过以下方式强制杀死它

kill -9 8131

理想情况下通过重置缓存再次运行您的打包程序npm start -- --reset-cache,现在应该没问题了。

仅供参考

反应:15.4.2,反应原生:0.41.2