Saltar al contenido

React Navigation V2: diferencia entre navigation.push y navigation.navigate

Sé libre de divulgar nuestro sitio y códigos en tus redes sociales, necesitamos tu ayuda para ampliar esta comunidad.

Solución:

Si revisa la documentación para pushhay una explicación de lo diferentes que son.

La acción Empujar agrega una ruta en la parte superior de la pila y navega hacia ella. Esto difiere de navegar en que navegar volverá a aparecer antes en la pila si un componente ya está montado allí. Push siempre se agregará en la parte superior, por lo que un componente se puede montar varias veces.

Podemos tomar Instagram por ejemplo;

Considere navegar al perfil de un usuario. Luego puede verificar los seguidores del usuario y luego también puede navegar a su perfil. Si haces estas mismas acciones con solo navigate acción, cuando hace clic en el perfil de un usuario desde la pantalla de la lista de seguidores, navegará al perfil anterior, pero si usa push empujará una nueva pantalla a la pila y mostrará el perfil correcto. De esta manera puedes goBack a la primera pantalla.

De acuerdo con la última publicación de blog aquí: para v1:

navigate(routeName) and push(routeName) were very similar: every time you called navigate(routeName) it would push a new route to the stack.

para 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.

navegar> ir a la instancia de la página si existe o enviar una nueva instancia

empujar > empujar una nueva instancia incluso si ya existe una

Creo que puedo responder a la pregunta.

Tenemos tres páginas: página de inicio1 página2.

“inicio” es el “nombre de ruta inicial”, y “página1” y “página2” son páginas secundarias.

Entonces, cuando comenzamos con el inicio y empujamos la página 1 (o navegamos por la página 1), la pila de páginas es:

(2). Página 1

(1). casa

y presiono tres veces la página 2, la pila es:

(5). página 2

(4). página 2

(3). página 2

(2). Página 1

(1). casa

Ahora quiero ir a casa, puedo

1 pop Cuatro veces, o pop(4) directamente;

2 navegue por la página 1, luego haga clic una vez;

3 popToTop una vez;

cuando la pila de páginas no tiene página 1, navegar funciona igual que empujar, empujar la página hasta la parte superior de la pila y mostrar la página.

cuando la pila de páginas tiene la página 1, la función de navegación es saltar a la página 1 que está más cerca de la parte superior de la pila y mostrar otras páginas por encima de la página 1.

Por ejemplo, la siguiente pila de páginas:

(7). página 2

(6). página 2

(5). página 2

(4). Página 1

(3). Página 1

(2). Página 1

(1). casa

Si desea volver a casa, primero debe navegar por la página 1 y luego aparecer tres veces.

Tt debe tener en cuenta que cuando la página actual es la página 1 y navega a la página 1, nada

sucedió.

Estos son algunos de los códigos de prueba que escribí, simplemente copie en App.js.

import * as React from 'react';
import  Button, View,Text  from 'react-native';
import  NavigationContainer  from '@react-navigation/native';
import  createStackNavigator  from '@react-navigation/stack';
 
function HomeScreen( navigation ) 
  return (
    
      

Espero que te sea útil.

Te mostramos las reseñas y valoraciones de los lectores

Recuerda algo, que tienes el privilegio explicar .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *