В Руководстве по стилю Redux настоятельно рекомендуется до Максимально логизировать c, насколько это возможно в редукторах :
По возможности, попытайтесь поместить как можно больше логики c для вычисления нового состояния в соответствующий редуктор, а не в код, который готовит и отправляет действие (как обработчик щелчков).
В чем я не уверен, так это в том случае, если thunks также считается «кодом» какого-то рода. Кроме того, мы также (неправильно?) Использовали thunks для получения данных из других слоев состояния.
Гипотетически упрощенный фрагмент кода такого thunk:
const addX = x => (dispatch, getState) => {
const { data, view } = getState();
const { y } = view; // <-- here accessing data from `view` state.
const yy = doSomeLogicWith(y);
const z = doSomeMoreLogicWith(yy);
dispatch({ type: 'data/xAdded', payload: { x, z } });
};
Считается ли это на самом деле быть анти-паттерном в Redux? Если да, то каковы недостатки этого?