Je suis nouveau sur React Native et j'étudie actuellement les React Native Navigation Docs . Je me demandais: Quelle est la différence entre navigation.Push()
et navigation.navigate()
?
J'ai essayé de le découvrir par moi-même, mais ils semblent accomplir exactement la même chose ...
Si vous consultez la documentation pour Push
, il y a une explication de leur différence.
L'action Push ajoute un itinéraire au-dessus de la pile et y avance. Cela diffère de la navigation dans laquelle la navigation reviendra plus tôt dans la pile si un composant y est déjà monté. Push s'ajoutera toujours sur le dessus, donc un composant peut être monté plusieurs fois.
Nous pouvons prendre Instagram par exemple;
Pensez à naviguer vers le profil d'un utilisateur. Ensuite, vous pouvez vérifier les abonnés de l'utilisateur et vous pouvez également accéder à leur profil. Si vous effectuez ces mêmes actions avec uniquement l'action navigate
, lorsque vous cliquez sur le profil d'un utilisateur dans l'écran de la liste des suiveurs, vous accédez au profil précédent, mais si vous utilisez Push
, il pousse un nouvel écran. à la pile et afficher le profil correct. De cette façon, vous pouvez goBack
au premier écran.
Selon le dernier article de blog ici : pour v1:
navigate(routeName) and Push(routeName) were very similar: every time you called navigate(routeName) it would Push a new route to the stack.
pour v2:
Now navigate(routeName) will first try to find an existing instance of the route and jump to that if it exists, otherwise it will Push the route to the stack.
naviguer> aller à l'instance de la page s'il existe ou pousser une nouvelle instance
Push> Push une nouvelle instance même si une existe déjà