Size: a a a

2020 October 20

DZ

Dmitry Zherebko in React Kyiv
в этом случае я так вижу всё равно надо хук
источник

AR

Alexey Raspopov in React Kyiv
да, в таких сценариях может понадобиться
источник

MD

Mihail Donskoy in React Kyiv
Всем добрый вечер. Коллеги, подскажите, что может быть. Я сейчас вхожу в моб разработку на react native и столкнулся с проблемой. Я запускаю проект но в эмуляторе тупо белый экран, хотя все работает reload и device menu. Ошибок никаких нет. Использую vscode и Android studio (эмулятор). Работаю в Ubuntu 18.04
источник

DZ

Dmitry Zherebko in React Kyiv
Alexey Raspopov
да, в таких сценариях может понадобиться
но вот мне идея для модалок с контекстом по моему худшее со всех миров
источник

DZ

Dmitry Zherebko in React Kyiv
и стейт неудобно синхронизировать и провайдер нужен
источник

AR

Alexey Raspopov in React Kyiv
Если мне нужна какая-то кастомная модалка со стейтом, то я просто заюзаю @reach/dialog. Тот паттерн удобный для определенных сценариев, где нужна гибкость апи и я знаю что количество сценариев использования ограниченное
источник

AL

Andrey Listochkin in React Kyiv
мое имхо - модалке похер на стейт. Это конфирмейшн-диалог. Он наружу выдает только флажок - пускать процесс дальше или не пускать. Если нужна синхронизация, то в коде можно делать проверку, что стейт не поменялся, уже после await confirm()
источник

DZ

Dmitry Zherebko in React Kyiv
Andrey Listochkin
мое имхо - модалке похер на стейт. Это конфирмейшн-диалог. Он наружу выдает только флажок - пускать процесс дальше или не пускать. Если нужна синхронизация, то в коде можно делать проверку, что стейт не поменялся, уже после await confirm()
ну для конфирмейшина согласен, но у меня на всё приложение 1 конфирмейшин
источник

DZ

Dmitry Zherebko in React Kyiv
а больше кейсов где надо синкать стейт с модалкой
источник

AL

Andrey Listochkin in React Kyiv
опять же имхо. Если у тебя в диалоге форма с редактированием чего-то, то это “новый скрин”. Его вызов, новый раут, его закрытие - переход на прежний раут. Тогда в коде не будет той бороды, как в примере Леши в гисте, где он пишет “что-то много получилось”
источник

AL

Andrey Listochkin in React Kyiv
Но на практике бывает, что нельзя все так красиво под гребенку причесать, так что приходится страдать конечно
источник

DZ

Dmitry Zherebko in React Kyiv
Andrey Listochkin
опять же имхо. Если у тебя в диалоге форма с редактированием чего-то, то это “новый скрин”. Его вызов, новый раут, его закрытие - переход на прежний раут. Тогда в коде не будет той бороды, как в примере Леши в гисте, где он пишет “что-то много получилось”
но если это новый роут будет требывать анмаунта текущего стейта
источник

DZ

Dmitry Zherebko in React Kyiv
или каким-то образом пропросить всё в чайлды
источник

DZ

Dmitry Zherebko in React Kyiv
Andrey Listochkin
опять же имхо. Если у тебя в диалоге форма с редактированием чего-то, то это “новый скрин”. Его вызов, новый раут, его закрытие - переход на прежний раут. Тогда в коде не будет той бороды, как в примере Леши в гисте, где он пишет “что-то много получилось”
у меня модалки открываются/закрываются таким способом, но это всё опять же инкапсулировано в апишку через useFormDiaog
источник

AL

Andrey Listochkin in React Kyiv
звучит норм
источник

DZ

Dmitry Zherebko in React Kyiv
точнее из-за того что надо такой же костыль как у инстаграма
источник

DZ

Dmitry Zherebko in React Kyiv
что если по свежей ссылке переходишь то надо открывать с другим контекстом модалку
источник

DZ

Dmitry Zherebko in React Kyiv
т.е без предыдущего контекста, но если открываешь через загруженый юай, то контекст не анмаунтится
источник

DZ

Dmitry Zherebko in React Kyiv
типа вот такая штука при вызове
open()
засетит в урл dataset=dataset.id
источник

DZ

Dmitry Zherebko in React Kyiv
но для простеньких кейсов когда у тебя нет формы это сложноватый подход
источник