Size: a a a

2020 May 10

IN

Ira Novikova in React Kyiv
Denis Fedichkin
я использую saga чтобы не использовать thunk. И куда он вернет промис? я же вызываю экшен из компонента и все, а сага просто слушает и срабатывает
сага тебе промис не вернет, а в компоненте тебе надо точно знать, когда зарезолвится запрос. так шо сага и санк тут не взаимоисключающие😉
источник

DF

Denis Fedichkin in React Kyiv
Ira Novikova
сага тебе промис не вернет, а в компоненте тебе надо точно знать, когда зарезолвится запрос. так шо сага и санк тут не взаимоисключающие😉
а куда вернется из саги промис если я буду thunk использовать?
источник

AR

Alexey Raspopov in React Kyiv
Denis Fedichkin
вот это уже ближе, а как лучше организовать это в сторе? Просто записывать туда состояние в зарезервированную переменную для модалки?
Не знаю, записывать состояние модалки в стор звучит весьма избыточно. Есть компонент, который рисует модалку, пусть его локальное состояние и разбирается с тем когда показывать модалку, а когда скрывать
источник

DF

Denis Fedichkin in React Kyiv
Alexey Raspopov
Не знаю, записывать состояние модалки в стор звучит весьма избыточно. Есть компонент, который рисует модалку, пусть его локальное состояние и разбирается с тем когда показывать модалку, а когда скрывать
я тоже считаю избыточным, поэтому вопрос и возник. Комопонент же сам тоже должен как то узнать о результате. По окончанию запроса вызываю экшен?
источник

B

Bogdan in React Kyiv
Denis Fedichkin
Всем привет!
Народ можете сказать кто как работает с модальными окнами в рамках redux/saga?
Конкретно интересует вопрос управление модальным окном после отправки запроса на сервер и по его результатам либо закрывать его, либо оставлять открытым.
Кто то занимался управлением модальными окнами через экшены?
Стреляешь нужный экшн в зависимости от ответа. Вот и все
источник

DF

Denis Fedichkin in React Kyiv
Bogdan
Стреляешь нужный экшн в зависимости от ответа. Вот и все
ну он стрельнул, а кто будет слушать ответ? я же не могу заставить компонент все время опрашивать стор
источник

IN

Ira Novikova in React Kyiv
compose(
       applyMiddleware(thunkMiddleware, sagaMiddleware)
   );

там, где ты тригеришь экшен, делаешь например
yourActionName({yourPayload}, { thunk: true }).then(...

а в саге делаешь
yield put(someActionName({some first arg ot response},  action.meta));

и это позволит в компоненте делать .then.catch.finally
источник

B

Bogdan in React Kyiv
Denis Fedichkin
ну он стрельнул, а кто будет слушать ответ? я же не могу заставить компонент все время опрашивать стор
Редьюсер, который хендлит состояние твоей модалки
источник

IN

Ira Novikova in React Kyiv
Denis Fedichkin
ну он стрельнул, а кто будет слушать ответ? я же не могу заставить компонент все время опрашивать стор
мне кажется для этого есть в саге takeLatest
источник

DF

Denis Fedichkin in React Kyiv
редьюсер только меняет состояние стора. компонент как то должен понять что запись в сторе появилась и принять решение
источник

DF

Denis Fedichkin in React Kyiv
Ira Novikova
мне кажется для этого есть в саге takeLatest
это вызывает последний вызов
источник

B

Bogdan in React Kyiv
Denis Fedichkin
редьюсер только меняет состояние стора. компонент как то должен понять что запись в сторе появилась и принять решение
Ну ты коннектишь компонент к стору
источник

IN

Ira Novikova in React Kyiv
createSelector из reselect?
источник

AR

Alexey Raspopov in React Kyiv
Denis Fedichkin
ну он стрельнул, а кто будет слушать ответ? я же не могу заставить компонент все время опрашивать стор
источник

DF

Denis Fedichkin in React Kyiv
Bogdan
Ну ты коннектишь компонент к стору
а дальше? компонент и там коннектится. в какой то момент стор обновился. как компонент узнает об этом?
источник

IN

Ira Novikova in React Kyiv
источник

IN

Ira Novikova in React Kyiv
Denis Fedichkin
а дальше? компонент и там коннектится. в какой то момент стор обновился. как компонент узнает об этом?
прийдет новое значение в props
источник

B

Bogdan in React Kyiv
Ммм, намешать бы это с санками и сагами. Вкуснятина
источник

DF

Denis Fedichkin in React Kyiv
ну да, только я через сагу делаю
источник

AR

Alexey Raspopov in React Kyiv
Bogdan
Ммм, намешать бы это с санками и сагами. Вкуснятина
можно например перестать рокет саенс в проекте делать 😉
источник