ReactNative从入门到放弃

1、iOS启动模拟器出现如下错误信息

Application XXX(项目名) has not beenRegistered. This is either due to a require() error during initialization or failure to call AppRegistry.registerComponent

原因:

1、AppRegistry.registerComponent('项目名',() => 项目名); *
与./ios/项目名/appDelegate.m中的RCTRootView*rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"项目名" initialProperties:nil launchOptions:launchOptions];

解决办法:

1、项目名称全部统一即可。
2、若不同,后两个项目名为root的类名。

2、本地服务没有启动,或者端口被占用。

解决办法:

1、到当前proj目录下,react-native start,启动本地服务。
2、如果出现 ERROR Packager can't listen on port 8081。
3、使用命令 lsof -i:8081 ,查看这个端口是否被某个进程占用。
如果被占用,会有信息输出如下。

 ~/Desktop/TabBarDemo/ [master] lsof -i:8081
COMMAND   PID    USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
node    32146 Jueying   24u  IPv6 0x75456f5cb82f8085      0t0  TCP *:sunproxyadmin (LISTEN)

如果没有被占用,则不会输出任何信息。
4、如果8081这个端口被占用,使用命令:kill -9 8081 ,命令将这个进程干。
5、command + r,刷新模拟器. 已ok。

2、错误信息Command "run-ios" unrecognized. Did you mean to run this inside a react-native project?

解决办法:

1、到当前proj目录下,使用命令:npm install即可。

写在结束。。。

学习ReactNative已有1月有余,简单的页面布局和网络请求,已经很熟悉。正准备适配安卓时,微信小程序又冒出来了,来势汹汹,很真切的感受到了从入门到放弃。

你可能感兴趣的:(ReactNative从入门到放弃)