Где должна выполняться логика в redux? В action или в reducer?
Верно ли утверждение, что reducer должен только приминать состояние, и на основе type менять его на основе предыдущего состояния.
А логика которая пишется для того что бы изменить само состояние находится в action creator?
Ответы (1 шт):
Верно ли утверждение, что reducer должен только приминать состояние, и на основе type менять его на основе предыдущего состояния.
по сути, Вы можете что угодно делать внутри reducer и оно может работать. но это не правильно. пускай reducer обновляет состояние, а что-то другое делает другую работу. верьте, так удобно и к этому все привыкли.
А логика которая пишется для того что бы изменить само состояние находится в action creator?
action creator - это функция, которая создает объект (с type и payload) в виде инструкций для reducer, указывая как должен измениться state. Вы так же можете можете внутри action creator писать что угодно, любые действия, но зачем? так тоже никто не делает. пускай каждый механизм делает свою работу. для "промежуточных" действий Вам как раз нужен middleWare (thunk, saga). middleWare позволяет Вам создать функцию, внутри какой Вы можете объединить множество вызовов action creators и любых других действий.
по идее лучше всего (моё личное мнение) - саги.
это частично верный комментарий, но не совсем. redux-thunk используется там, где есть простая логика изменения состояния. redux-saga используется для более сложных вещей