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

Всем привет. Может кто-нибудь сможет подсказать, как правильно сделать навигацию.


Дело в том, что в приложении используется как обычный useNavigator, благодаря которому осуществляется навигация между основными экранами, так и useTopTabNavigator, благодаря которому происходит навигация между "подэкранами" настроек. Задача состоит в том, чтобы сделать навигацию из иконки, находящейся на главном экране на определённый "подэкран" из подэкранов настроек.
Для этого в главном экране я добавил:

const {navigate} = useNavigation();

и для нужной иконки передал:

onPress={() => navigate('SettingsDream')}
__________________________
В результате навигация осуществляется лишь при условии, что у меня предварительно открыт экран настроек, но ничего не происходит, если экран настроек закрыт(видео работы прилагается). Может есть у кого-нибудь идеи, каким образом мне осуществить задуманное без таких вот условностей?

10 ответов

25 просмотров

тебе нужна делать navigate('Name of stack', {screen: 'name of screen'})

Олег-Мирный Автор вопроса
Алексей
тебе нужна делать navigate('Name of stack', {scree...

Звучит просто гениально, спасибо! Правда я не совсем понял чем является “Name of stack”. Я попробовал передать в этот параметр название самого useTopTabNavigator, но это не помогло - переход не осуществляется вообще.

Олег-Мирный Автор вопроса
Олег Мирный
Звучит просто гениально, спасибо! Правда я не совс...

Понял. Сам основной экран настроек. Буду пробовать.)

Олег-Мирный Автор вопроса
Алексей
тебе нужна делать navigate('Name of stack', {scree...

К сожалению, данная запись не сработала.( Поведение перехода остается прежним - работает лишь при условии уже открытых настроек. onPress={() => navigate('Settings', {screen: 'SettingsDream'})}

Олег Мирный
К сожалению, данная запись не сработала.( Поведени...

используешь теже названия что и в названии экранов?

Олег Мирный
К сожалению, данная запись не сработала.( Поведени...

https://reactnavigation.org/docs/nesting-navigators/#navigating-to-a-screen-in-a-nested-navigator

Олег-Мирный Автор вопроса
Алексей
используешь теже названия что и в названии экранов...

Да, вот прописанное название для настроек: const screens = languages => [ { name: 'Settings', component: SettingsScreen, ... ________________ И для "подэкрана": { name: 'SettingsDream', component: SettingsStatisticsScreen, ...

Олег-Мирный Автор вопроса
Алексей
const screens = languages => [ откуда такое написа...

Это было сделано до меня.) Полагаю, человеку, это написавшее, было таким образом удобнее впихнуть сюда смену языка экранов./

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта