Сброс навигации по сцене в react-native-router-flux

#javascript #react-native #react-native-router-flux

#javascript #react-native #react-native-router-flux

Вопрос:

У меня возникли некоторые проблемы с использованием react-native-router-flux. Мой маршрутизатор похож на этот:

     ...
        <Scene type={ActionConst.RESET} key="tabs"
               tabs={true}>
                        <Scene
                          key="explore"
                          initial
                          component={Explore}
                       />

                        <Scene key="createPost">
                          <Scene
                            key="camera"
                            type="reset"
                            component={Camera}
                          />
                          <Scene
                            key="compose"
                            component={Compose}
                          />
                          <Scene
                            key="finish"
                            component={Finish}
                          />
                        </Scene>
                        <Scene
                          key="profile"
                          component={Profile}
                        />
 </Scene> 
...
  

Проблема возникает, когда я нажимаю на значок createPost во вкладках и слежу за процессом: камера -> создать -> завершить. Когда я закончу с процессом, я должен загрузить данные и перейти к исследованию, и все работает идеально, но если я попытаюсь создать новую запись, она перенаправит меня непосредственно на сцену «закончить».

Итак, до сих пор, когда я завершаю процесс, я пытался:

Действия.исследовать({тип: ‘сброс’})

//

Действия.обратный вызов({ клавиша: ‘tabs’, тип: ‘reset’}); Действия.исследовать()

//

Действия.обратный вызов({ ключ: ‘createStory’, тип: ‘reset’}); Действия.исследовать()

Но все работает так, как ожидалось. Может ли кто-нибудь помочь мне с этим?

Спасибо!

Обновить

Ну, я нашел «возможное» решение для этого:

Actions.popTo(‘захват’); -> это вернет к первой сцене в createPost

Действия.explore(); -> выход из createPost.

Я думаю, есть другой способ сделать это…

Ответ №1:

Можете ли вы попробовать добавить type = reset в createPost сцену?

 <Scene key="createPost" type="reset">
  

Комментарии:

1. не работает. Если я это сделаю, возникнет несколько проблем: 1. Если я сделаю: tabs -> createPost -> (вернуться к) tabs -> ошибка: не удается найти маршрут с помощью key = explore (когда я использую Actions.explore()) или если я использую Actions.pop(), при попытке вернуться сцена не изменится. 2. Если я завершу свой процесс и вернусь к исследованию сцены, и я попытаюсь снова открыть createPost, тогда приложение завершит работу.