В версии 5.x изменен способ сброса навигации. вы можете использовать:
import { StackActions } from '@react-navigation/native';
this.props.navigation.dispatch(
StackActions.popToTop()
);
Чтобы перенаправить все страницы из стека, а затем go обратно на первый экран. ( просмотреть на выставке )
Или вы можете использовать:
import { CommonActions } from '@react-navigation/native';
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Home' },
{
name: 'Profile',
params: { user: 'jane' },
},
...
],
})
);
Чтобы сбросить состояние навигации до исходного состояния.
Вот a живая демонстрация на выставке закусок (используйте вкладку android, go из дома на страницу details
, затем page 3
, затем нажмите сброс. Теперь вы можете увидеть, что это на главной странице, и если вы нажмите назад, он выйдет.) (код для popToTop
находится в строке 44)
Документы: всплывающее вверх действие действие сброса
Ps: Если вы не используете версию 5.x, сначала убедитесь, что у вас есть маршрут с именем ScreenName
(так как вы используете: routeName: 'ScreenName'
, и если он не исправил это, попробуйте другие коды для сбросить, например: здесь )