#react-native #react-navigation #react-navigation-v5
#react-родной #реагирующая навигация #реагирующая навигация-v5
Вопрос:
Кто-нибудь знает, как перейти к началу стека без анимации в React Navigation 5?
Мой вариант использования заключается в том, что у меня есть боковая панель ящика, и когда пользователь нажимает на элемент, я хочу перейти к этому стеку, но перейти к вершине этого стека, сбросив навигацию. У меня это работает со следующим кодом, но он анимируется и является неожиданным UX.
navigation.dispatch({
...StackActions.popToTop(),
source: currentRoute.key,
target: targetStack.key
});
Любой способ сделать это без анимации?
Ответ №1:
вы можете попробовать это
navigation.popToTop({immediate: true})
источник : https://github.com/react-navigation/react-navigation/issues/3480
Комментарии:
1. Это для React Navigation v1. Я использую v5, в котором нет такой опции. Это именно то, что я хочу, хотя это было бы неплохо! Это на самом деле, как я сделал это в RN4.
Ответ №2:
Я сталкиваюсь с той же проблемой… Обходным путем является отключение transitionSpec
анимации на close
:
transitionSpec: {
open: TransitionSpecs.TransitionIOSSpec,
close: {
animation: 'timing',
config: {
duration: 0,
},
},
}
Это работает нормально, но проблема в том, что если вы используете Back
кнопку с определенного экрана, анимация тоже будет отключена :/
Конечно, это связано с вашим UX и, возможно, это не будет проблемой 🙂