169 похожих чатов

Привет) Что-то не получилось отыскать как запретить переход на определенный

экран по кнопке назад в stack navigation ? например, я не хочу, чтобы можно было по кнопке назад вернуться в окно онбординга.

12 ответов

21 просмотр

Доку внимательно читать, не костылить, а рендерить экраны только те, которые требуются. Как в auth flow описано

Vitaliy Ponomarev
Доку внимательно читать, не костылить, а рендерить...

Разве он не про поведение физ кнопки говорит? При чем тут рендеринг?

BackHandler.addEventListener('hardwareBackPress

https://reactnative.dev/docs/backhandler

А в твоём кейсе, я бы на последнем экране онборлинга, который ведёт в основное представление, делал метод не push а replace, либо вообще dispatch со сбросом стэка и последующий пуш одного роута

Игорь Стрелов
Разве он не про поведение физ кнопки говорит? При ...

При том что это проблема xy . Нужно рассматривать поведение навигатора, а не кнопки. Кнопка только триггер для действия, (один из, как минимум есть ещё свайп) и наделять её какой-то дополнительной ответственностью, знанием стека навигации и т.п. неправильно. Это создаёт больше проблем.

Vitaliy Ponomarev
При том что это проблема xy . Нужно рассматривать ...

Кнопка и свайп, это один системный триггер, или я что-то упустил?

Vitaliy Ponomarev
При том что это проблема xy . Нужно рассматривать ...

Ну последним сообщением я ему и предложил, единственной, на мой взгляд, верное решение. Чистить стэк перед переходом с онбординга в основное представление приложения. Сперва я не так понял его задачу и предложил залочить кнопку

Игорь Стрелов
Кнопка и свайп, это один системный триггер, или я ...

Упустил. BackHandler перехватит хардварную кнопку на андроиде, но не кнопку в хедере и не свайп. Обнулять стек - решение (хоть и не всегда удобное, и простое для понимания в первое время), но зачем, если уже с 5 версии есть условный рендеринг (который как раз и описан в auth flow)? А в 6 ещё и группировка экранов в стеке

Vitaliy Ponomarev
Упустил. BackHandler перехватит хардварную кнопку...

Да, можно и через условный рендеринг с группировкой скринов. Только вот хз. Что с историей стэка будет в момент смены условного блока. Если она останется, не вернёт ли его все равно к прошлому экрану?

Max-Likhavets Автор вопроса
Max-Likhavets Автор вопроса

Похожие вопросы

Обсуждают сегодня

#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
У меня вопрос попроще, почти нубский: нужно заставить сайт эво 1.4.34 перевести с PHP 7.4 на 8.2. Понятное дело, что дополнения обновить-проверить, а с основной системой как ...
Вячеслав Кузьменко
5
Карта сайта