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

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


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

const {navigate} = useNavigation();

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

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

10 ответов

7 просмотров

тебе нужна делать 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 => [ откуда такое написа...

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

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
16
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
я не понимаю mov [r11+8],rcx и прочие. мы записываем значение из rcx, куда?
Bor
15
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
11
Карта сайта