Почему FILTER_STUFF срабатывает перед STUFF_LOADED, когда load () вызывается перед filter () в компоненте? по какой-то причине порядок, в котором я вижу происходящее, это this.props.filter (n); перед this.props.load (i); в компоненте.
компонент:
showThings (a, b, i, n) {
if (a !== b) {
this.props.load(i);
}
this.props.filter(n);
}
действия:
export function filter (n) {
return {
type: FILTER_STUFF,
n: n
};
};
export function jobsLoaded (jobs) {
return {
type: STUFF_LOADED,
payload: jobs
};
}
export const load = (i) => async dispatch => {
let jobs=functionToGetJobs();
dispatch(jobsLoaded({ items: jobs }));
};
редуктор:
export const jobs = (state = defaultJobs, action) => {
switch (action.type) {
case STUFF_LOADED:
let filterLists = getFilterList(action);
return filterLists;
case FILTER_STUFF:
filterLists = filterAllJobs(state, action.n);
return filterLists;
default:
return state;
}
};