React Navigation: переключитесь на другой стек и сможете вернуться к предыдущему стеку

Например, у меня есть стек BottomTabNavigator с вкладками A и B. Две вкладки сами по себе являются навигационным стеком, состоящим из следующих маршрутов.

A: 
- A1
- A2
B:
- B1
- B2

В любой момент мое приложение должно иметь возможность перемещать пользователя с любого маршрута (скажем, B1 или B2) на маршрут другого стека (скажем, A1 или A2). Я могу добиться этого, добавив маршруты A1 и A2 в стек B, как показано ниже.

B:
-B1
-B2
-A1
-A2

Я сделал это для того, чтобы маршруты A были доступны для B в том же дереве стека.

Несмотря на то, что я могу добиться этого, я хочу иметь возможность вернуться к маршруту B2 (например, если я перемещаюсь от B2 к A1). Но этого не происходит; при отступлении от трассы А1. Я не уверен, что это правильный подход.

Как я могу контролировать навигацию и убедиться, что я возвращаюсь к маршруту предыдущего стека, откуда я пришел.


person Aman Pandey    schedule 02.12.2018    source источник
comment
Итак, в основном вы хотите, чтобы, если вы переходите из A1 в B1 .... вы должны вернуться в A1 из B1 .. правильно?   -  person Sarmad Shah    schedule 02.12.2018
comment
@ Сармад Абсолютно верно.   -  person Aman Pandey    schedule 03.12.2018


Ответы (1)


То, как я это делаю, я не уверен, правильный это подход или нет, но это работает для меня. Например, если у вас есть два навигационных экрана A и B, и внутри A у вас есть A1, A1, а внутри B у вас есть B1, B2. Вы хотите перейти от A1 к B1, а при обратном нажатии вы хотите вернуться к A1. Но, как мы видим, вы объявили B2 внутри другого стека, поэтому, когда B1 загружается, при обратном нажатии он возвращается к навигатору родительского стека. Что вы можете сделать, так это объявить B1 внутри B, а также A. Вот так, A: - A1 - A2 - B1 - B2 B: - B1 - B2 - A1 - A2

Я не уверен, что это решение эффективно, но мне оно подходит для сложной навигации.

person Sarmad Shah    schedule 03.12.2018
comment
Да, я бы именно так и поступил. Оно работает. Хотя я считаю, что должен быть задокументированный подход к реализации такой навигации по прецедентам. - person Aman Pandey; 03.12.2018