код в моем редукторе выглядит следующим образом:Вызов действия внутри Redux редуктора
import {ADD_FILTER, REMOVE_FILTER} from "../../../../actions/types";
const removeFilter = (state, name) => {
return state.filter(f => f.name !== name);
};
export default function addRemoveFilterReducer(state = [], action) {
switch (action.type) {
case ADD_FILTER:
let nState = state;
if(state.some(i => i.name === action.searchFilter.name))
nState = removeFilter(state, action.searchFilter.name);
return [...nState, {name: action.searchFilter.name, values: [action.searchFilter.values]}];
//Call another action
case REMOVE_FILTER:
return removeFilter(state, action.searchFilter.name);
default:
return state;
}
}
У меня есть один компонент салон и в салоне у меня есть компонент поиска и содержимого компонента.
Внутри компонента поиска я обрабатываю фильтрацию, и я отправляю действие, которое обрабатывается с помощью этого редуктора.
После добавления фильтра я хочу отправить действие со всеми фильтрами. Как я могу это сделать?
Это действие будет обрабатываться редуктором, где я бы возвращал только те автомобили, которые соответствуют критериям поиска и отображали их в компоненте контента.
Надеюсь, вы понимаете, что я хотел сказать.
Этот подход подходит вообще?
Это то, что я всегда делаю! и если вы используете обещания, вы всегда можете использовать 'then' для запуска следующего действия после того, как обещание будет разрешено. – Crysfel