Size: a a a

2020 June 11

Ti

Time is the side eff... in ☄️ effector
Просто модуль(и) лежит(ат) в фиче и редьюсеры с экншами экспортируются, редьюсеры собираются в рут редьюсере, а экшны импортируются там где надо, по-моему близко к эффекторовской модели, правда пожирнее по понятной причине)
источник

Ti

Time is the side eff... in ☄️ effector
Но место в структуре практически то же самое
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
1. при иморте редюсеров ломается сплит бандла
ну или это решается через динамическое добавление редюсеров, но как по мне костыль
2. селекторы должны знать о состоянии всего стора, это нарушает модульность
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
3. компоненты внутри фич мне надо привязывать к редаксу, это опять же привязанность к глобальному стору
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Можно конечно создавать несколько редакс-сторов и в целом в этом нет ничего плохого
просто с эффектором это делается чуть проще, меньше кода в итоге
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
если бы не эффектор, я бы сделал мультистор на редаксе
написать фабрику которая запускает переданные ей эпики с нужными обертками не проблема
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Сейчас у меня в фичах vue-компоненты тупо импортируют нужные сторы, некоторые параметры они конечно через пропсы получают
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Типа у меня есть фича заявки
там всякие сторы и эффекты для загрузки и обработки заявок и компоненты которые отображают список заявок и конкретную заявку
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Вне фич у меня есть компонент который подключает эту фичу и передает активную заявку в компонент заявки через просы
этот компонент находит заявку из стора заявок в зависимости от пропа через useStoreMap
источник

AI

Arthur Irgashev in ☄️ effector
Paruyr🛸🪐🌏
1. при иморте редюсеров ломается сплит бандла
ну или это решается через динамическое добавление редюсеров, но как по мне костыль
2. селекторы должны знать о состоянии всего стора, это нарушает модульность
2) селекторы скорее знают, по какому пути находятся данные в объекте. они не знают, что это весь или не весь стор
источник

AI

Arthur Irgashev in ☄️ effector
Paruyr🛸🪐🌏
3. компоненты внутри фич мне надо привязывать к редаксу, это опять же привязанность к глобальному стору
аналогично и с эффектором
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Это да, можно фабрику селекторов сделать, которая получает селектор для нужной фичи и уже оттуда берет стейт
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Но опять же, это лишний код кмк
источник

Ti

Time is the side eff... in ☄️ effector
Paruyr🛸🪐🌏
1. при иморте редюсеров ломается сплит бандла
ну или это решается через динамическое добавление редюсеров, но как по мне костыль
2. селекторы должны знать о состоянии всего стора, это нарушает модульность
1) Да, редьюсеры все подтянутся, с ними еще типы экшнов, а остальное то как в бандл попадет?
2) Во-первых, у фичи свои селекторы, во-вторых в каждом селекторе инкапсулируется часть пути по стейту, то есть каждый из них о цельной структуре и о самом сторе не знают
источник

AI

Arthur Irgashev in ☄️ effector
Paruyr🛸🪐🌏
Это да, можно фабрику селекторов сделать, которая получает селектор для нужной фичи и уже оттуда берет стейт
звучит как переусложнение
источник

Ti

Time is the side eff... in ☄️ effector
А в чем смысл фабрики такой?
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Time is the side effect
А в чем смысл фабрики такой?
что бы в каждом компоненте не писать useSelector(state => mySelector(state.myFeature))
источник

Ti

Time is the side eff... in ☄️ effector
Если у тебя есть комбинированные фичи, ты вероятнее всего туда импортируешь сторы из соседних фич, чем это отличается от прямого импорта селекторов
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
в случае UI-слоя еще жить можно
Но часто стейт нужен в эпиках
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
опять же , с редаксом все это работает, но мне не нравится писать много кода )
источник