React-Native: Module AppRegistry no es un módulo llamable registrado
Actualmente estoy intentando que el servidor ES6 reaccione-nativo-webpack-server en ejecución en un emulador de Android. La diferencia es que he actualizado mi package.json
y build.grade
para usar reaccionar 0.18.0
, y estoy recibiendo este error en el arranque. Por lo que tengo en cuenta AppRegistry
se importa correctamente. Incluso si tuviera que comentar el código, este error sigue apareciendo. Esto funciona en iOS sin problema.
¿Qué estoy haciendo mal?
- Intentando agregar un método openFile a React Native, no se puede llamar a getCurrentActivity
- ¿Existe una manera de pre-empaquetar la base de datos Realm (default.Realm) a través de React-Native (JS)
- React-Native: Descarga y carga de archivos desde android webview
- Cómo deshabilitar la rotación de la pantalla (reaccionar-nativo)?
- React Native v Formularios Xamarin - Elegir el entorno de la aplicación multiplataforma
EDIT: Después de probar otros boilerplates que no soportan 0.18.0, todavía me encuentro con el mismo problema.
- ¿Cómo acceder a `this` dentro de un renderRow de un ListView?
- Inicio de Twitter de Twitter de React-Native para Android
- React-native lento en Android 5.1.1 pero grande en viejo 5.1
- ¿Cómo puedo implementar Pinning del certificado SSL mientras uso React Native
- Implementar la aplicación de Android. Falta la tarea 'installReleaseDebug' para gradle
- React-native: La compilación falló con una excepción
- React Native: TouchableOpacity onPresiona problemas dentro de un ScrollView
- Reinicie de forma programática una aplicación de React Native
Acabo de actualizar a reaccionar-nativo 0.18.1
hoy difícil tener algunos problemas de dependencias de iguales con 0.19.0-rc
versión de pre-lanzamiento.
De vuelta a tu pregunta, lo que hice fue
-
cd android
-
sudo ./gradlew clean
Luego volver al directorio de trabajo y ejecutar react-native run-android
Debe reiniciar su npm también después de esa actualización.
Espero que esto funcione para usted.
Tuve el mismo problema en ios y la causa para mí lo que mi index.io.js era incorrecto (porque copié pegó uno de los ejemplos sin mirar su contenido), terminaba con una declaración de exportación de módulo
exports.title = ... exports.description = ... module.exports = MyRootComponent;
En lugar de lo esperado
AppRegistry.registerComponent('MyAppName', () => MyRootComponent);
Usted podría tener el mismo problema en android con el index.android.js, supongo.
Si está usando algunos de los ejemplos, puede que no funcionen
Aquí está mi versión para la vista de desplazamiento
/** * Sample React Native App * https://github.com/facebook/react-native */ import React, { AppRegistry, Component, StyleSheet, Text, View, ScrollView, TouchableOpacity, Image } from 'react-native'; class AwesomeProject extends Component { render() { return ( <View> <ScrollView ref={(scrollView) => { _scrollView = scrollView; }} automaticallyAdjustContentInsets={false} onScroll={() => { console.log('onScroll!'); }} scrollEventThrottle={200} style={styles.scrollView}> {THUMBS.map(createThumbRow)} </ScrollView> <TouchableOpacity style={styles.button} onPress={() => { _scrollView.scrollTo({y: 0}); }}> <Text>Scroll to top</Text> </TouchableOpacity> </View> ); } } var Thumb = React.createClass({ shouldComponentUpdate: function(nextProps, nextState) { return false; }, render: function() { return ( <View style={styles.button}> <Image style={styles.img} source={{uri:this.props.uri}} /> </View> ); } }); var THUMBS = [ 'http://loremflickr.com/320/240?random='+Math.round(Math.random()*10000) + 1, 'http://loremflickr.com/320/240?random='+Math.round(Math.random()*10000) + 1, 'http://loremflickr.com/320/240?random='+Math.round(Math.random()*10000) + 1 ]; THUMBS = THUMBS.concat(THUMBS); // double length of THUMBS var createThumbRow = (uri, i) => <Thumb key={i} uri={uri} />; var styles = StyleSheet.create({ scrollView: { backgroundColor: '#6A85B1', height: 600, }, horizontalScrollView: { height: 120, }, containerPage: { height: 50, width: 50, backgroundColor: '#527FE4', padding: 5, }, text: { fontSize: 20, color: '#888888', left: 80, top: 20, height: 40, }, button: { margin: 7, padding: 5, alignItems: 'center', backgroundColor: '#eaeaea', borderRadius: 3, }, buttonContents: { flexDirection: 'row', width: 64, height: 64, }, img: { width: 321, height: 200, } }); AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);
No sé porqué, pero cuando muevo AppRegistry.registerComponent del archivo de index.js que se incluye en index.android.js para residir dentro de index.android.js directamente, él parece trabajar.
- Cómo cambiar la visibilidad del diseño programaticly
- Configuración del paquete de soporte de Android v7 para eclipse – GridLayout