с помощью StackNavigator в react-navigation v5, есть ли простой способ пропустить экраны, возвращающиеся/выскакивающие назад, но позволять им продвигаться вперед?

У меня есть StackNavigator и экран для создания нового контента в моем приложении. Как только контент создан, я нажимаю на экран для контента. На данный момент я все еще могу создавать новый контент с этого экрана, поэтому можно нажать новый экран создания контента. Но если пользователь делает GO_BACK или прокручивает, т.е. POP назад, я хочу, чтобы они пропустили предыдущий экран создания контента.

Я думаю, что это довольно распространенное поведение, когда вы хотите выборочно пропускать экраны на обратном пути. Я просмотрел документы, чтобы попытаться понять это. Самым простым исправлением был поток авторизации. Это пропускает экран, возвращающийся назад, но также перестает толкать экран, если вынуть его из навигатора.

В настоящее время лучшим подходом, который у меня есть, является использование настраиваемого маршрутизатора стека, а в getStateForAction удалить создание экран содержимого с маршрутов всякий раз, когда пользователь отталкивается от него. Недостатком этого является то, что анимация iOS нажимается с экрана создания контента, поскольку экран создания контента выдвигается, он также скользит вверх (я думаю, потому что он удаляется).

Есть ли рекомендуемый лучший способ сделать это?


comment
Вы можете использовать навигацию при возврате с заданным идентификатором экрана, этот ответ объясняет каждую функцию   -  person Guruparan Giritharan    schedule 15.06.2020
comment
Спасибо, это, кажется, лучший способ приблизиться к этому   -  person tej    schedule 04.08.2020