J'essaye de changer d'écran en utilisant le navigateur de pile et d'onglet.
const MainNavigation = StackNavigator({
otp: { screen: OTPlogin },
otpverify: { screen: OTPverification},
userVerified: {
screen: TabNavigator({
List: { screen: List },
Settings: { screen: Settings }
}),
},
});
Dans ce cas, stacknavigator est utilisé en premier, puis tabnavigator. et je veux masquer les en-têtes du navigateur de pile. WIl ne fonctionne pas correctement lorsque j'utilise des options de navigation comme:
navigationOptions: { header: { visible: false } }
J'essaye ce code sur les deux premiers composants qui utilisent dans stacknavigator. si j'utilise cette ligne, j'obtiens une erreur comme ::
la source
options
accessoire comme celui-ci<Stack.Screen options={{ headerShown: false, }} name="Artist" component={Artist} />
Utilisez simplement le code ci-dessous dans la page dont vous souhaitez masquer l'en-tête
voir Stack Navigator
la source
Ajoutez simplement ceci dans votre extrait de code de classe / composant et l'en-tête sera masqué
la source
Si votre écran est un composant de classe
codez ceci dans votre écran ciblé comme première méthode (fonction).
la source
header: () => null
c'est la bonne façon, sinon vous obtenez un pépin d'en-tête lors du chargement de la pageSi vous souhaitez vous cacher sur un écran spécifique, procédez comme suit:
la source
J'utilise
header : null
au lieu d'header : { visible : true }
utiliser cli react-native. voici l'exemple:la source
Dans la solution donnée, l'en-tête est masqué pour HomeScreen by- options = {{headerShown: false}}
la source
Ajoutez un nouvel objet navigationOptions dans le stackNavigator.
Essaye ça :
J'espère que ça aide.
la source
Si quelqu'un cherche comment basculer l'en-tête dans componentDidMount, écrivez quelque chose comme:
Quand
Et quelque part lorsque l'événement termine le travail:
la source
Cela a fonctionné pour moi:
la source
la source
Vous pouvez masquer l'en-tête comme ceci:
la source
Cela fonctionne pour la navigation dans la pile
la source
Si vous ne souhaitez le supprimer que d'un écran,
react-native-navigation
alors:la source
la source
Toutes les réponses montrent comment le faire avec des composants de classe, mais pour les composants fonctionnels, vous le faites:
Si vous supprimez l'en-tête, votre composant peut se trouver à des endroits où vous ne pouvez pas le voir (lorsque le téléphone n'a pas d'écran carré), il est donc important de l'utiliser lors de la suppression de l'en-tête.
la source
la source
options={{ headerShown: false }}
travaille pour moi.**
"@react-navigation/native": "^5.0.7", "@react-navigation/stack": "^5.0.8",
la source
Dans react navigation 5.x, vous pouvez masquer l'en-tête de tous les écrans en définissant l'
headerMode
accessoire duNavigator
surfalse
.la source
Vous pouvez masquer l'en-tête StackNavigator comme ceci:
la source
Il est important de faire correspondre la version de la bibliothèque de navigation de réaction que vous utilisez à la solution, car elles sont toutes différentes. Pour ceux qui utilisent encore react-navigation v1.0.0 pour une raison comme moi, les deux ont fonctionné:
Pour désactiver / masquer l'en-tête sur des écrans individuels:
Pour désactiver / masquer tous les écrans à la fois, utilisez ceci:
la source
Dans la dernière version de react-navigation, cela fonctionne pour masquer l'en-tête sur chaque écran: headerMode = {'none'}
la source
pour 4.x, le
header: null
est obsolète, devrait utiliser à laheaderShown: false
placeex:
la source
Pour l'écran unique, vous pouvez définir l'en- tête: null ou headerShown: false dans createStackNavigator comme ceci
Masquer l'en-tête de tous les écrans en une seule fois en utilisant defaultNavigationOptions
la source
si vous voulez supprimer l'en-tête de tous les écrans, allez à app.js et ajoutez ce code à Stack.Navigator
la source