Как лучше всего использовать логику сокращения из нескольких действий на рендеринг? В этом примере показан базовый пример моего текущего решения (создание нового действия, сочетающего логику), но должен быть способ лучше.
Базовый пример:
Я использую useReducer от React, а не Redux
const [state, dispatch] = useReducer(reducer, {v1: 0, v2: 0});
Базовый редуктор, использующий новое действие, складывающее логику первых двух действий:
function reducer(state, action) {
const { type, payload: {v1, v2} } = action;
switch (type) {
case SET_V1:
return {...state, v1: setV1(v1)};
case SET_V2:
return {...state, v2: setV2(v2)};
case SET_V1_AND_V2:
return {...state, v1: setV1(v1), v2: setV2(v2)};
}
}
Сократите логику, делегированную функциям, чтобы стандартизировать логику:
const setV1 = (v1) => v1;
const setV2 = (v2) => v2;
Спасибо за вашу помощь