навигацию оправдана? Стоит ли использовать ее для сценариев по типу пошагового заполнения многостраничных форм (внутри модалок)?
Пример:
Есть экран редактирования заказа. В нем присутствует несколько окон с различными параметрами заказа. Также есть сценарий создания нового, где нужно подряд отобразить несколько модальных окон. Нормально ли управлять их отображением через StackNavigator и какие могут быть подводные?
Моделка прям полноэкранная модалка?
Если просто всплывающие, я бы вынес в компоненты и поочерёдно показывал. Если прям полноценный экран - можно в навигатор выносить, но у тебя будут подводные камни по уходу со страницы назад. Типа либо 4 раза назад goBack() вызывать, либо возвращаться в рут, но у тебя рут может быть ещё выше
Ее же в любом случае придется нажимать несколько раз, потому как кнопка назад внутри модального окна вызывает его закрытие
Если честно я не знаю как это работает со StackNavigator но у него же есть дефолтное поведение зависящее от платформы (то есть анимация, переходы, и тп). Я лично если у меня в одной модалке есть несколько подэкранов использовал библиотеку react-router в частности компонент memory router
Спасибо, сейчас посмотрю
Он же используется как корневой? Будет оверхедом тащить еще один роутер. Думаю, что раз StackNavigator дает возможность настраивать все анимации и такой подход практикуется, то лучше использовать его. Спасибо за помощь!
Зависит от того, как оно у тебя устроено. Ты в модалку можешь целый стек страниц вставить. Тогда "назад" будет в рамках этого стека сначала работать. Просто с модалками, в которых несколько страниц, возникает проблема закрыть всё, когда ты дошёл до последней страницы и всё закончил. Закрыть всю модалку можно без проблем, если ты её реализовал просто на компонентах и сам переключаешь их отображение.
Обсуждают сегодня