react example entre diferencias create cli app javascript reactjs react-native

javascript - example - react native vs ionic



Error al llamar a AppRegistry.registerComponent (7)

En mi caso, es causado por la sensibilidad de mayúsculas y minúsculas del nombre de la aplicación en index.ios.js .

Funciona después de que cambié de

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

a

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

react-native init Wevaha un nuevo proyecto usando react-native init Wevaha , después de ejecutarlo correctamente, modifiqué la aplicación de muestra en función de mis requisitos. De nuevo react-native init Wevaha , pero la próxima vez que ejecuto la aplicación me aparece el error como

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

AppRegistry.registerComponent ''

La captura de pantalla adjunta a continuación, encuéntrala


Es probable que ya tenga otro servidor Recopilador nativo de React ejecutándose para otra aplicación o que el nombre de la aplicación en AppDelegate.m y su index.js no sea el mismo.

Intente cerrar todas las ventanas de la terminal, moduleName verificar el valor de moduleName y moduleName ejecutar el proyecto.


Matar todos los demás procesos de nodo funcionó para mí, es decir. ps -ef | grep node ps -ef | grep node para encontrar esos procesos y

pkill -f node

matar los procesos


Para dar más detalles sobre lo que dijo el oblador, todavía tenía este problema después de cerrar todas las ventanas de la terminal / matar a todos los demás procesos de React Native. Lo que me sucedió fue que el valor de moduleName en AppDelegate.m (en la raíz del proyecto XCode) era incorrecto. Estoy usando una compilación de Snowflake de Barton Hammond y estaba tratando de cambiar el nombre de "copo de nieve" a la mía y me perdí este valor y estaba recibiendo ese error.


Para mi caso, echo un vistazo al número de puerto del empaquetador en el que está escuchando. Es el resultado de su llamada a npm start en su directorio de proyecto raíz.

┌────────────────────────────────────────────────────────────────────────────┐ │ Running packager on port 8081. │ │ │ │ Keep this packager running while developing on any JS projects. Feel │ │ free to close this tab and run your own packager instance if you │ │ prefer. │ │ │ │ https://github.com/facebook/react-native │ │ │ └────────────────────────────────────────────────────────────────────────────┘

Luego verifico qué aplicación está escuchando en ese puerto a través de

lsof -i :8081

Resultado:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME AwesomePr 8131 haxpor 9u IPv6 0x372bdab8e928e839 0t0 TCP localhost:56484->localhost:sunproxyadmin (SYN_SENT)

Ahora toma ese número PID y fuerza a matarlo a través de

kill -9 8131

Ejecute su paquete de nuevo de manera ideal con el restablecimiento de la memoria caché a través de npm start -- --reset-cache , debería estar bien ahora.

FYI :

reaccionar: 15.4.2 , reactivo-nativo: 0.41.2


Para nosotros, el problema era que el nombre de la aplicación registrada no coincidía con la carpeta raíz. Por lo tanto, si su carpeta raíz es /ChatApp , registre su aplicación de la siguiente manera:

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


Si se enfrenta a este problema mientras se ejecuta en un dispositivo Android o un emulador de Android,

aparte de index.js También debes asegurarte de que el nombre de la aplicación sea el mismo en el siguiente archivo index.android.bundle :

que puedes encontrar en esta ruta: ~android/app/src/main/assets/index.android.bundle

Busque el nombre de la aplicación anterior y reemplácelo con el nombre real.

funcionó para mí, espero que ayude a otros también.