Je travaille avec reac native depuis 3 mois maintenant et j'ai ce problème maintenant pendant plusieurs jours sans aucune solution.Passer les accessoires à un Tabnavigator imbriqué
Le problème: J'ai un TabNavigator imbriqué dans un StackNavigator. Ces deux navigateurs sont à l'intérieur d'un composant sans état:
const MyStackNav = StackNavigator({
Tabs:{
screen: TabNavigator({
Tab1: { screen: TabScreen1},
Tab2: { screen: TabScreen2},
Tab3: { screen: TabScreen3},
...(CONDITION ? { Tab4: {
screen: TabScreen4
}} : {})
})
}
StackScreen1:{
screen: StackScreenOne,
},
StackScreen2:{
screen: StackScreenTwo,
},
})
Appel du composant:
class MainApp extends React.Component {
constructor(props)
{
super(props);
this.state = {
condition: false,
};
}
render() {
return (
<MyStackNav/>
);
}
}
Comment puis-je passer la condition de ma classe MainApp
à la variable d'état à l'intérieur du composant MyNavStack
pour le conditionnel le rendu? Donc Tab4 ne devrait être rendu que si CONDITION est vrai. La deuxième question serait: Comment puis-je passer un accessoire de ma classe MainApp
à, par exemple, l'écran du premier onglet?
Merci d'avance!
déjà essayé Ive de cette façon et je reçois toujours le message d'erreur suivant : "MyNavStack (...): Un élément React valide (ou null) doit être retourné Vous avez peut-être renvoyé undefined, un tableau ou un autre objet invalide." La racine de ce message d'erreur se trouve dans mountComponent! – Manzn
Essayez d'envelopper 'StackNavigator' dans e.g. ''. Donc: ' {StackNavigator (/ * stuff * /)} span>' – Hespen
Donc actuellement je reçois le message d'erreur suivant: "Attendu une classe de composant, got [object Object]". La seule solution que j'ai trouvé à ceci est que les classes doivent commencer par une lettre majuscule, ce que le mien fait ... – Manzn