Как перейти к экрану, не добавляя его в стек? - PullRequest
0 голосов
/ 09 июля 2020

Мой навигатор:

const MyStack = createStackNavigator();

const MyRoutes= () => (
  <MyStack.Navigator headerMode='none' initialRouteName='First'>
    <MyStack.Screen name='First' component={ScreenFirst} />
    <MyStack.Screen name='Second' component={ScreenSecond} />
  </MyStack.Navigator>
);

Мой фактический поток:

First -> (next) -> Second -> (back) -> First

Но я хочу показать маршрут First без добавления его в backstack, чтобы он быть:

First -> (next) -> Second -> (back) -> (default OS behavior)

Возможно ли это? Если да, то как? Я использую "@react-navigation/native": "^5.6.1".

Я знаю, что могу контролировать поведение Back в маршруте Second, но поскольку в Android (Java / Kotlin) можно показать фрагмент, не добавляя его в backstack, я полагаю, что что-то подобное существует в React Native.

1 Ответ

1 голос
/ 09 июля 2020

Вы можете использовать navigation.replace('Second'). Подробнее здесь https://reactnavigation.org/docs/stack-actions#replace.

...