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

Всем привет! Ребята есть кто юзает react-native-navigation в связке с redux?


У меня есть задача глобально слушать изменение селкторов (const someSelector = useSelector(someModule.someSelector)) для взаимодействия с интерфейсом. Условный пример - есть модальное окно которое может быть показано на любой из страниц приложения. Это модальное окно ориентируется на данные из селектора.
Так как в rnn нет рутового компонента, нет возможности повесить слушателей/селекторы в руте. И при этом делать обертку/hoc для каждого экрана - это плодить модальные окна и слушателей селекторов - очень плохо 🙂

Может кто сталкивался с задачей подобной, подскажите решение.

14 ответов

11 просмотров

Сделал в сторе поле showModal Добавил на нужные экраны компонент модального окна, который в зависимости от этого поля показывается или скрывается. И добавил проверку что скрин в фокусе, чтобы не срабатывали сразу все.

Unknown number- Автор вопроса
Unknown number- Автор вопроса
Andrey Eremenko
Сделал в сторе поле showModal Добавил на нужные э...

Если таких десять модалок. Это будет совсем грустно.

Unknown number
Если таких десять модалок. Это будет совсем грустн...

Все разные? Сделать лучше одно модальное окно и управлять его содержимым

в react-native-navigation есть оверлей которым ты можешь перекрыть все экраны, просто слушателя в корень пропиши и открывай/закрывай оверлей по надобности

Unknown number
Если таких десять модалок. Это будет совсем грустн...

у меня просто была дополнительная сложность: окно должно быть не на всех экранах

Unknown number- Автор вопроса
Vlad Vushnya
в react-native-navigation есть оверлей которым ты ...

В какой корень? У rnn нет корня приложения в отличии от rn, где есть рут компонент и можно повесить обычный компонент в котором все слушатели и модалки.

Unknown number- Автор вопроса
Andrey Eremenko
у меня просто была дополнительная сложность: окно ...

Так-то hoc можно использовать для тех экранов где нужна модалка. Это можно делать на уровне когда регистрируются экраны. Так же как если бы мы оборачивали в редакс-провайдер экраны.

Unknown number
В какой корень? У rnn нет корня приложения в отлич...

можешь повесить там же где у тебя происходит первая инициализация, сам так делал

Unknown number- Автор вопроса
Vlad Vushnya
можешь повесить там же где у тебя происходит перва...

Это как так? Кажется useSelector() не доступен в вакууме. Копонент должен быть обернут в редакс провайдер, разве не так?

Unknown number
Это как так? Кажется useSelector() не доступен в в...

для оверлея не нужен редакс, там методы есть

overlay

Unknown number- Автор вопроса
Pav Huk
overlay

Так это понятно. Но метод вызывать надо на основании изменения селектора. Сам селектор куда повесить чтобы слушать его изменения и глобально вызвать оверлей?

Unknown number
Так это понятно. Но метод вызывать надо на основан...

Тут уже СТМ проблема) С редакс давно не работал, но помню что там есть subscribe на весь стор, или же в компоненте проверка, больше вроде никак

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта