React Navigation v5 не сбрасывает и не удаляет предыдущие маршруты
У меня есть экран входа в систему, который 9X_react-native я поместил в стек. После успешного входа 9X_react-native-web пользователя в систему он перенаправляется 9X_react-native-android на главный экран, который является экраном 9X_react-native-android ящика. Одним из вариантов экрана ящика является 9X_react-native-ios выход из системы, поэтому при щелчке по 9X_reactjs-native нему пользователь должен выйти из системы. Ниже 9X_react-navigation-v5 приведен мой код для экрана выхода из системы. Я 9X_react-native-ios просто показываю индикатор выполнения экрана 9X_react-native-ios выхода из пользовательского интерфейса, но 9X_react-native-ios в хуке useEffect
я вызываю следующий метод
navigation.navigate({index: 0, routes: [{name: LOGIN_SCREEN}]});
, но я 9X_react-navigation-v5 получаю сообщение об ошибке You need to specify name or key when calling navigate with an object as the argument
, и меня перенаправляют 9X_reactjs-native на главный экран. когда я полностью перезапускаю 9X_react-native свое приложение, оно перемещается только 9X_react-navigation-v5 на экран входа в систему. Я передаю правильное 9X_react-navigation-v5 значение для ключа имени.
Мой стек навигации 9X_reactjs-native выглядит примерно так
...
Мой компонент ящика, как 9X_react-native показано ниже
Ответ #1
Ответ на вопрос: React Navigation v5 не сбрасывает и не удаляет предыдущие маршруты
В react-navigation v5. Вы можете сбросить 9X_reactjs-native навигацию следующим образом
import { CommonActions } from "@react-navigation/native";
this.props.navigation.dispatch(
CommonActions.reset({
index: 0,
routes: [{ name: "LOGIN_SCREEN" }],
})
);
Ответ #2
Ответ на вопрос: React Navigation v5 не сбрасывает и не удаляет предыдущие маршруты
Если вы хотите выполнить сброс, вам нужно 9X_react-native-web использовать reset
, а не navigate
:
navigation.reset({
routes: [{ name: LOGIN_SCREEN }]
});
-
1
-
2
-
1
-
4
-
3
-
7
-
2
-
3
-
2
-
2
-
2
-
2
-
1
-
2
-
1
-
1
-
14
-
1
-
24
-
2
-
1
-
3
-
13
-
37
-
9
-
5
-
5
-
12
-
11
-
25
-
8
-
7
-
7
-
14
-
17
-
3
-
5
-
7
-
6
-
8
-
2
-
19
-
7
-
15
-
7
-
8
-
3
-
3
-
8
-
11