экран по кнопке назад в stack navigation ? например, я не хочу, чтобы можно было по кнопке назад вернуться в окно онбординга.
Доку внимательно читать, не костылить, а рендерить экраны только те, которые требуются. Как в auth flow описано
Разве он не про поведение физ кнопки говорит? При чем тут рендеринг?
BackHandler.addEventListener('hardwareBackPress
https://reactnative.dev/docs/backhandler
А в твоём кейсе, я бы на последнем экране онборлинга, который ведёт в основное представление, делал метод не push а replace, либо вообще dispatch со сбросом стэка и последующий пуш одного роута
При том что это проблема xy . Нужно рассматривать поведение навигатора, а не кнопки. Кнопка только триггер для действия, (один из, как минимум есть ещё свайп) и наделять её какой-то дополнительной ответственностью, знанием стека навигации и т.п. неправильно. Это создаёт больше проблем.
Кнопка и свайп, это один системный триггер, или я что-то упустил?
Ну последним сообщением я ему и предложил, единственной, на мой взгляд, верное решение. Чистить стэк перед переходом с онбординга в основное представление приложения. Сперва я не так понял его задачу и предложил залочить кнопку
Упустил. BackHandler перехватит хардварную кнопку на андроиде, но не кнопку в хедере и не свайп. Обнулять стек - решение (хоть и не всегда удобное, и простое для понимания в первое время), но зачем, если уже с 5 версии есть условный рендеринг (который как раз и описан в auth flow)? А в 6 ещё и группировка экранов в стеке
Да, можно и через условный рендеринг с группировкой скринов. Только вот хз. Что с историей стэка будет в момент смены условного блока. Если она останется, не вернёт ли его все равно к прошлому экрану?
Может есть какой-нибудь пример ?
Уже сам нашел) Спасибо
Обсуждают сегодня