Lorsque j'exécute mon application native native Rea sur iPhone Expo, cette erreur s'affiche dans la zone d'arrière-plan rouge.
Violation invariante: Le type d'élément n'est pas valide: attend une chaîne (pour les composants intégrés) ou une classe/fonction (pour les composants composites) mais got: object. Vous probablement oublié d'exporter votre composant à partir du fichier dans lequel il est défini.
c'est le fichier App.js dans le dossier 'src/components /'
import React, { Component } from 'react';
import { View, Text } from 'react-native';
export default class App extends Component {
render() {
return (
<View>
<Text>Hello</Text>
</View>
);
}
}
C'est le fichier App.js principal dans le dossier de l'application native.
import App from './src/components/App';
J'ai utilisé l'application expo pour exécuter ce code. Comment puis-je résoudre cette erreur?
Expo s'attend à ce que vous exportiez un composant à partir de /App.js
. Mais pour le moment, vous importez uniquement dans /App.js
. Expo ne reçoit aucun composant à rendre. Vous devez exporter le composant que vous avez importé comme ceci:
export default App;
Sur la note de côté: Utilisez un composant de classe uniquement si vous devez.
Dans mon cas, au lieu d'exporter comme ceci:
export default App;
... j'ai exporté comme suit:
export {LoginForm};
Cela a fonctionné complètement bien.
j'ai eu le même problème et j'ai mis export default
avant class yourclassname extends Component
dans App.js