web-dev-qa-db-fra.com

Le module AppRegistry n'est pas un module appelable enregistré (appelant runApplication)

J'utilise la base native pour créer une application dans rea-native. Je suis nouveau dans les deux domaines. Quand je lance l'application, cela me donne cette erreur:

 enter image description here

Voici mon code:

export default class Point extends Component {

    render() {
        return (
            <Container>
                <Header>
                    <Left>
                        <Button transparent>
                            <Icon name='menu' />
                        </Button>
                    </Left>
                    <Body>
                        <Title>Header</Title>
                    </Body>
                    <Right />
                </Header>
            </Container>
        );
    }
}

Voici la capture d'écran de mes versions

 enter image description here

et la version nativebase est "native-base": "^2.1.2"

15
Asad

J'utilisais la base native pour mon application ici est link base native

et vous pouvez voir qu'il n'y a pas de registre d'applications comme celui-ci 

 AppRegistry.registerComponent('Point', () => Point) 

mais je dois le faire pour exécuter mon application

1
Asad

Tuez tout le processus de noeud, démarrez le serveur npm et exécutez l'application:

Étape 1: exécutez la commande killall -9 node

Étape 2: exécutez la commande npm start

Étape 3: exécutez la commande react-native run-ios OR react-native run-Android

19
Brijesh Shiroya

Vous devriez avoir ceci au bas du fichier index.ios.jsAppRegistry.registerComponent('Point', () => Point); Et également importer AppRegistry de react-native

5
Chiamaka Nwolisa

J'avais ce problème - c'était étrange parce que je réinitialisais mon dépôt à une époque où l'application fonctionnait. Le problème était avec mon simulateur (iOS). 

Pour moi, la solution était de

  1. tuer le programme de simulateur (quitter)
  2. then - ferme la fenêtre du terminal ouverte lors de l'exécution du simulateur (Metro Bundler) Image de la fenêtre de mon terminal
2
t.ios

Besoin de remplacer 

.setJSMainModulePath("index") with .setJSMainModulePath("index.Android")
0
Aristo Michael

J'utilise Expo

Dans mon cas, j'ai résolu le problème en ajoutant le code suivant dans le fichier app.json

"expo":{
  ...
  "Android": {
    "package": "com.mycompanyname.myappname
  }
}
0
illusionist

Fermer le Bundle Metro actuel et redémarrer en réinitialisant le cache a fonctionné pour moi

npm start -- --reset-cache

Pour moi, redémarrer mon ordinateur semble être suffisant pour résoudre ce problème.

Cela est souvent nécessaire après avoir changé de branche ou avoir fusionné des branches avec git.

0
Harry B