Size: a a a

React — русскоговорящее сообщество

2020 November 19

BB

Bugs Bunny in React — русскоговорящее сообщество
GetMad
У меня пока есть идея о том, чтобы сделать класс, который будет через DI получать набор методов атомарных операций изменяющих состояние стм, а  методы самого класса уже будут вызывать эти атомарные операции по сути реализуя юзкейсы.

Так по сути бекенд сервисы с базой данных взаимодействуют если я не ошибаюсь
dispatch и getState привязываются к context-у, который находится в Provider-е редакса. тебе придется это обходить
источник

G

GetMad in React — русскоговорящее сообщество
Bugs Bunny
dispatch и getState привязываются к context-у, который находится в Provider-е редакса. тебе придется это обходить
Эти методы есть на объекте store, который я могу создать вне реакта
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
тогда там и свой useSelector нужен и useDispatch
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
ну диспатч хер с ним. useSelector нужен уже
источник

G

GetMad in React — русскоговорящее сообщество
Неа. Я ж говорю, атомарные операции будут менять состояние стм, а реакт может напрямую к нему подписываться
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
так а как он будет подписываться без аналога useSelector
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
он внутри юзает setState
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
через хок можешь, но вернешься в эпоху mstp
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
да и те же яйца, только в профиль
источник

PW

Pan Włodzimierz in React — русскоговорящее сообщество
как я могу указать тип для setCtx?
источник

PW

Pan Włodzimierz in React — русскоговорящее сообщество
источник

G

GetMad in React — русскоговорящее сообщество
Bugs Bunny
так а как он будет подписываться без аналога useSelector
Создаем стор
Делаем набор операций которые будвт юзать store.dispatch

Потом этот же стор передаем в провайдер.

Операции, которые вызываются внутри класса с бизнес логикой изменяют стейт

Компоненты подписанные на этот стейт ререндерятся
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
GetMad
Создаем стор
Делаем набор операций которые будвт юзать store.dispatch

Потом этот же стор передаем в провайдер.

Операции, которые вызываются внутри класса с бизнес логикой изменяют стейт

Компоненты подписанные на этот стейт ререндерятся
у тебя дырка в "подписанные компоненты"
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
надо как-то их подписать. и ты опять прибиваешься к реакту
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
мало смысла от этого, если честно
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
redux на @reduxjs/toolkit позволяет без этих колядований организовывать норм апи
источник

G

GetMad in React — русскоговорящее сообщество
Bugs Bunny
у тебя дырка в "подписанные компоненты"
Я использую useSelector и подписываюсь на стейт стора. Не совсем понимаю, где дырка
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
а откуда он возьмет стор без контекста?
источник

G

GetMad in React — русскоговорящее сообщество
Bugs Bunny
а откуда он возьмет стор без контекста?
Так я ж говорю что мы стор и в контекст тоже пихаем
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
так у тебя на верхнем уровне будет стор и его нужно будет в твой класс бизнес-логики при инициализации запихивать по канонам чистой архитектуры
источник