j'ai un TabNavigator
dans un StackNavigator
(dans le StackNavigator
je la vue login
et le TabNavigator
, Wich contient les autres écrans). Le problème est que je dois faire quelque chose comme un bouton 'Logout
' sur un onglet qui redirige juste vers la vue Login
. Si j'essaie simplement de rediriger vers le LoginView
, le TabBar
apparaît toujours en bas de l'écran et ce n'est pas ce que je veux. Est-il possible de cliquer sur le bouton TabBar
et de revenir au StackNavigator
initial? (Comme une propriété OnPress
ou quelque chose comme ça).React Navigation bouton sur TabNavigator
Voici mon routeur
const tab_bar = TabNavigator({
Home: {
screen: HomeScreen
},
Logout: {
screen: LoginView // this just show the view but the tabBar still appearing
},
});
const Login = StackNavigator({
login: {
screen: LoginView,
},
List: {
screen: tab_bar
,navigationOptions: {header:null}
}
},
{
initialRouteName: 'login'
});
Vous pouvez utiliser [tabBarVisible] (https://reactnavigation.org/docs/navigators/tab#tabBarVisible) prop pour l'écran que vous ne souhaitez pas afficher. – bennygenel
Une meilleure façon de le faire est d'avoir une pile de route déconnectée, et connecté dans un. Dans votre application de niveau supérieur, si loggedIn = true, affichez les itinéraires pour cela. Passez un screenprop qui va définir loggedIn: false si vous voulez vous déconnecter et qu'il affichera l'autre pile – zackify
Si j'utilise tabBarVisible, je peux glisser sur d'autres écrans, ce dont j'ai besoin est comme 'goBack' dans le premier' StackNavigator' (du 'TabNavigator' au' loginView') –