Реагируйте с навигацией V2: разница между navigation.push и navigation.navigate - PullRequest
0 голосов
/ 28 июня 2018

Я новичок в React Native и сейчас изучаю React Native Navigation Docs . Я размышлял: В чем разница между navigation.push() и navigation.navigate()?

Я пытался выяснить это сам, но, похоже, они достигли того же самого ...

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

Если вы проверите документацию для push, есть объяснение, насколько они отличаются.

Действие Push добавляет маршрут на вершину стека и перемещается вперед. к этому. Это отличается от навигации тем, что навигация вернется к ранее в стеке, если компонент уже смонтирован там. От себя всегда добавляется сверху, поэтому компонент можно монтировать несколько раз.

Мы можем взять Instagram например;

Рассмотрите возможность перехода к профилю пользователя. Затем вы можете проверить подписчиков пользователей, а затем перейти к их профилям. Если вы выполняете те же действия только с действием navigate, то при нажатии на профиль пользователя на экране списка подписчиков вы перейдете к предыдущему профилю, но если вы используете push, он выведет новый экран в стек и отобразит правильный профиль. Таким образом, вы можете goBack на первый экран.

0 голосов
/ 28 июня 2018

Согласно последнему сообщению в блоге здесь : для v1:

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

для версии 2:

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.

перейти> перейти к экземпляру страницы, если существует, или нажать новый экземпляр

push> push новый экземпляр, даже если он уже существует

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...