wake-up-neo.net

Fehler beim Aufruf von AppRegistry.registerComponent

Ich habe ein neues Projekt mit react-native init Wevaha erstellt, danach I Entschuldigung, es funktioniert richtig, dann habe ich die Beispiel-App basierend auf meinem. Voraussetzung erneut laufen funktioniert es aber das nächste Mal während Beim Ausführen der App bekomme ich den Fehler gerne

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

AppRegistry.registerComponent '

Der unten angefügte Bildschirmfoto finden Sie hier  enter image description here

30
vasavi

Es ist wahrscheinlich, dass Sie bereits einen anderen React Native Packager-Server für eine andere App ausführen oder dass der App-Name in AppDelegate.m und Ihre index.js nicht derselbe ist. 

Schließen Sie alle Terminalfenster, überprüfen Sie den Wert von moduleName und führen Sie das Projekt erneut aus. 

65
oblador

Für uns bestand das Problem darin, dass der Name der registrierten App nicht mit dem Stammordner übereinstimmte. Wenn Ihr Stammordner /ChatApp lautet, registrieren Sie Ihre App wie folgt:

AppRegistry.registerComponent('ChatApp', ()  => App);
26
jmares93

Um zu erläutern, was Frau Oblador gesagt hatte, hatte ich immer noch dieses Problem, nachdem ich alle Terminalfenster geschlossen und alle anderen React Native-Prozesse getötet hatte. Was mir passiert ist, war der Wert der moduleName in AppDelegate.m (im Stammverzeichnis des XCode-Projekts) falsch. Ich verwende einen Build von Barton Hammonds Schneeflocke und versuchte, ihn von "Schneeflocke" in meine eigene umzubenennen, und ich habe diesen Wert übersehen und diesen Fehler erhalten.

4
dwilt

In meinem Fall schaue ich mir die Portnummer des Packager an, in der er abhört . Dies ist das Ergebnis Ihres Aufrufs npm start in Ihrem Stammprojektverzeichnis.

 ┌────────────────────────────────────────────── ──────────────────────────────┐ 
 │ Packager auf Port 8081 ausführen. │ 
 │ │ 
 │ Lassen Sie diesen Packager während der Entwicklung von JS-Projekten laufen. Gefühl │ 
 │ Sie können diese Registerkarte schließen und Ihre eigene Packager-Instanz ausführen, wenn Sie │ 
 │ lieber. │ 
 │ │ 
 │ https://github.com/facebook/react-native │ 
 │ │ 
 └───────────────────────────────────────────────── ───────────────────────────┘ 

Dann überprüfe ich, welche Anwendung diesen Port über hört

lsof -i :8081

Ergebnis: 

BEFEHL PID USER FD TYP GERÄTEGRÖSSE/OFF NODE NAME 
 AwesomePr 8131 haxpor 9u IPv6 0x372bdab8e928e839 0t0 TCP localhost: 56484-> localhost: sunproxyadmin (SYN_SENT)

Nehmen Sie nun diese PID-Nummer und erzwingen Sie das Töten über

kill -9 8131

Führen Sie Ihren Packager idealerweise erneut aus, und setzen Sie den Cache über npm start -- --reset-cache zurück. Es sollte jetzt in Ordnung sein.

FYI:

reagieren: 15.4.2, reaktionsnativ: 0.41.2

4
haxpor

In meinem Fall ist dies auf die Groß- und Kleinschreibung des App-Namens in index.ios.js zurückzuführen.

Es funktioniert, nachdem ich mich geändert habe

AppRegistry.registerComponent('AppleReactNative', () => App)

zu 

AppRegistry.registerComponent('applereactnative', () => App)
3
David Cheung

Das Töten aller anderen Knotenprozesse funktionierte für mich Dh . ps -ef | grep node , um diese Prozesse zu finden und 

pkill -f node

die Prozesse zu töten

2
philip_nunoo

Wenn dieses Problem auf einem Android-Gerät oder einem Android-Emulator auftritt,

abgesehen von index.js sollten Sie auch sicherstellen, dass der App-Name in der folgenden Datei index.Android.bundle identisch ist:

die Sie unter diesem Pfad finden können: ~Android/app/src/main/assets/index.Android.bundle

Suchen Sie nach dem alten App-Namen und ersetzen Sie ihn durch den tatsächlichen Namen.

es hat für mich funktioniert, hoffe es hilft auch anderen.

0
Satish Mavani