J'ai 3 écrans. A => Connexion, B => Dashboard, C => Profil. P>
Initialement lorsque l'utilisateur n'est pas connecté, l'écran de connexion Renders. Après la connexion, j'ai utilisé Asyncstorage pour enregistrer l'userid (que je reçois de la réponse de l'API). Si l'utilisateur est déjà connecté et ouvre l'application, j'ai redirigé l'utilisateur à la page de tableau de bord. P>
Ce sont les problèmes que je suis confronté à ma mise en œuvre du code. p>
Tout ce que je veux réaliser est, après la connexion, jusqu'à ce que l'utilisateur appuie sur le bouton de déconnexion, l'utilisateur ne doit pas être capable d'aller à l'écran de connexion. P>
4 Réponses :
Vous devez réinitialiser votre historique de navigation pour faire cela
Ceci est un extrait d'un de mon projet où je devrais faire la même chose: P>
this.props.navigation.reset([NavigationActions.navigate({ routeName: 'DevicesList'})], 0);
Pour cela, je suggérerais d'utiliser un Si non , vous pouvez toujours utiliser votre backhandling personnalisé dans votre écran de tableau de bord et utiliser le Le composant laissez-moi savoir si vous ont un problème avec l'une des solutions p> p> Switchnavigator code> (si vous utilisez réacteur-navigation). Cela laissera l'écran précédent (dans ce cas de votre
Loginscreen code>) démonter et que vous ne pourrez pas goback à cet écran, à moins que votre expliciteur ne le dise à naviguer à l'écran.
React-Navigaton avec Navigègefocus code> hoc. p>
ComposantDidMount code> restera le même que votre première tentative. Vous auriez besoin d'utiliser
composentDidUpdate code> et de vérifier le
iSfocusd code> prop, comme: p>
Vous pouvez simplement y parvenir en utilisant le navigateur de commutation au lieu d'un navigateur de pile lors de la navigation de «écran de connexion» à «Dashboard».
const MainStack = createStackNavigator({ DashboardScreen: Dashboard, ProfileScreen: Profile }); export default createAppContainer(createSwitchNavigator({ LoginScreen: Login, Main: MainStack }));
Réagir de la navigation V5 Documentation couvre ce cas d'utilisation. Lien de documentation P>
Dupliqué possible de réact de la manutention du bouton Native - Device de l'appareil