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 (
);
function Page(route, navigation )
return (
`current page is $route.name` navigation.navigate('page1')
/>
navigation.push('page1')
/>
navigation.push('page2')
/>
navigation.push('page2')
/>
navigation.navigate('Home')
/>
navigation.pop()
/>
navigation.popToTop()
/>
);
const Stack = createStackNavigator();
function MyStack()
return (
);
export default function App()
return (
);
Espero que te sea útil.
Te mostramos las reseñas y valoraciones de los lectores
Recuerda algo, que tienes el privilegio explicar .