Как очистить предыдущий экран из стека навигации в react native?

Пользователь

от jerad.kuphal , в категории: JavaScript , 8 месяцев назад

Как очистить предыдущий экран из стека навигации в react native?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от raina , 7 месяцев назад

@jerad.kuphal 

В React Native вы можете использовать функцию pop() для удаления предыдущего экрана из стека навигации и перехода на экран, находящийся перед ним в стеке. Если вы хотите удалить несколько экранов из стека навигации, вы можете использовать функцию popToTop(), которая удаляет все экраны из стека, кроме самого первого.


Например, если вы хотите удалить предыдущий экран из стека, вы можете использовать следующий код в функции обратного вызова для кнопки назад:

1
2
3
4
5
6
import { useNavigation } from '@react-navigation/native';

function backButtonHandler() {
  const navigation = useNavigation();
  navigation.pop();
}


Если вы хотите удалить все экраны из стека и перейти на первый экран, вы можете использовать следующий код:

1
2
3
4
5
6
import { useNavigation } from '@react-navigation/native';

function homeButtonHandler() {
  const navigation = useNavigation();
  navigation.popToTop();
}


Обратите внимание, что функции pop() и popToTop() могут быть вызваны только из стекового навигатора. Если вы используете другой тип навигации, такой как таб-навигатор или маршрутизатор, эти функции не будут работать.