Ada*_*dam 150 javascript facebook reactjs react-native
我目前正在阅读React-Native教程.我从入门教程开始,在那里我做了一个新的反应原生项目并成功设法在我的设备上运行项目.
然后我启动了Props教程,我复制了代码片段并尝试再次运行该项目并在屏幕上显示以下错误消息:

Slo*_*wyn 408
我想这是由于不匹配项目名称和您注册的组件而导致的错误.
你有一个名字inited项目,即
react-native init AwesomeApp
但是在index.ios.js文件中,您注册了其他组件
AppRegistry.registerComponent('Bananas', () => Bananas);
当它必须是
AppRegistry.registerComponent('AwesomeApp', () => Bananas);
尝试解决它.
Afs*_*ani 39
大多数情况下,问题是您有另一个react-native start(即React Native Packager)服务器在另一个终端或TMUX的另一个选项卡上运行(如果您使用的是TMUX).
您需要找到该进程并将其关闭,因此在运行之后react-native run-ios,它将建立一个为该特定应用程序注册的新打包服务器.
只需找到该过程使用:
ps aux | grep react-native
Run Code Online (Sandbox Code Playgroud)
找到进程ID(PID)并使用kill命令(例如kill -9 [PID])终止打包程序进程.您应该launchPackager.command在macOS中找到该应用程序,不确定其他操作系统.
然后尝试再次运行run-ios(或android).您应该能够在运行新的打包程序服务器后看到新路径,例如:
Looking for JS files in
/Users/afshin/Desktop/awesome-app
Run Code Online (Sandbox Code Playgroud)
小智 30
MainActivity像这样修改,
@Override
protected String getMainComponentName() {
return "Bananas"; // here
}
Run Code Online (Sandbox Code Playgroud)
use*_*708 21
我的解决方案是"AppDelegate.m"中的更改模块名称
从
moduleName:@"AwesomeProject"
至
moduleName:@"YourNewProjectName"
Raf*_*aro 17
首先,您必须开始申请:
react-native start
Run Code Online (Sandbox Code Playgroud)
然后,您必须将应用程序名称设置为registerComponent的第一个参数.
它工作正常.
AppRegistry.registerComponent('YourProjectName', () => YourComponentName);
Run Code Online (Sandbox Code Playgroud)
小智 10
在 index.js 中,您有以下代码:-
import {name as appName} from './app.json';
AppRegistry.registerComponent(appName, () => MyApp);
因此,如果在 app.json 中,名称定义为“AwesomeProject”,则确保其与以下内容相同:-
ios/projectName/AppDelegate.m 中的模块名称:-
moduleName:@"AwesomeProject"
android/app/src/main/java/MainActivity.java 中的组件名称
@Override
protected String getMainComponentName() {
return "AwesomeProject"; // here
}
小智 6
请检查项目中的app.json文件。如果没有行appKey,则必须添加它
{
"expo": {
"sdkVersion": "27.0.0",
"appKey": "mydojo"
},
"name": "mydojo",
"displayName": "mydojo"
}
Run Code Online (Sandbox Code Playgroud)
小智 5
在我的情况下,MainActivity.java中的这一行在我使用react-native-renamecli 时错过了(来自NPM)
protected String getMainComponentName() {
return "AwesomeApp";
}
Run Code Online (Sandbox Code Playgroud)
显然你必须将它重命名为你的应用程序的名称.
我认为节点服务器正在从另一个文件夹运行。所以杀死它并在当前文件夹中运行。
查找正在运行的节点服务器:-
lsof -i :8081
终止正在运行的节点服务器:-
kill -9 <PID>
例如:-
kill -9 1653
从当前的 React Native 文件夹启动节点服务器:-
react-native run-android
我通过更改 app.json 文件中的以下内容解决了这个问题。看起来大写字母引发了这个错误。
从:
{
"name": "Nameofmyapp",
...
}
Run Code Online (Sandbox Code Playgroud)
到:
{
"name": "nameofmyapp",
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104539 次 |
| 最近记录: |