나는 현재 React-Native 튜토리얼을 진행하고 있습니다. 시작하기 자습서로 시작하여 새로운 반응 기본 프로젝트를 만들고 장치에서 프로젝트를 성공적으로 실행할 수있었습니다.
그런 다음 Props tutorial 을 시작하고 코드 스 니펫을 복사하고 프로젝트를 다시 실행하려고 시도했으며 화면에 다음 오류 메시지가 표시되었습니다.
답변
프로젝트 이름과 등록 된 구성 요소가 일치하지 않아 오류가 발생한 것 같습니다.
하나의 이름으로 프로젝트를 시작했습니다. 즉
react-native init AwesomeApp
그러나 index.ios.js 파일에서 다른 구성 요소를 등록하십시오
AppRegistry.registerComponent('Bananas', () => Bananas);
이 때 해야 할
AppRegistry.registerComponent('AwesomeApp', () => Bananas);
고치십시오.
답변
대부분의 경우 문제는 react-native start
다른 터미널 또는 TMUX의 다른 탭 (TMUX를 사용하는 경우)에서 다른 (즉, React Native Packager) 서버가 실행되고 있다는 것입니다.
해당 프로세스를 찾아서 닫아야하므로 react-native run-ios
예를 들어 실행 한 후에 는 해당 특정 응용 프로그램에 등록 된 새로운 패키지 서버를 설정합니다.
다음을 사용하여 해당 프로세스를 찾으십시오.
ps aux | grep react-native
프로세스 ID (PID)를 찾고 kill
명령 (예 :)을 사용하여 패키지 프로세스를 종료하십시오 kill -9 [PID]
. launchPackager.command
다른 운영 체제에 대해서는 잘 모르지만 macOS 에서 앱을 찾아야합니다 .
그런 다음 run-ios
(또는 안드로이드)를 다시 실행 하십시오. 새 패키저 서버를 실행 한 후 새 경로를 볼 수 있어야합니다 (예 :
Looking for JS files in
/Users/afshin/Desktop/awesome-app
답변
수정 MainActivity
같이,
@Override
protected String getMainComponentName() {
return "Bananas"; // here
}
답변
내 솔루션은 “AppDelegate.m”의 모듈 이름을 변경하는 것입니다
…에서
moduleName:@"AwesomeProject"
에
moduleName:@"YourNewProjectName"
답변
먼저 응용 프로그램을 시작해야합니다.
react-native start
그런 다음 애플리케이션 이름을 registerComponent의 첫 번째 인수로 설정해야합니다.
잘 작동합니다.
AppRegistry.registerComponent('YourProjectName', () => YourComponentName);
답변
프로젝트에서 app.json 파일을 확인하십시오. appKey가없는 경우 추가해야합니다.
{
"expo": {
"sdkVersion": "27.0.0",
"appKey": "mydojo"
},
"name": "mydojo",
"displayName": "mydojo"
}
답변
내 경우에는 MainActivity.java 에이 줄이 있는데 react-native-rename
cli를 사용할 때 누락되었습니다 (NPM에서)
protected String getMainComponentName() {
return "AwesomeApp";
}
분명히 이름을 앱 이름으로 바꿔야합니다.