内部アクションコードは次のとおりです。コール私の減速で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;
}
}
私は1つのコンポーネントショールームを持ち、ショールーム内で、私は検索コンポーネントとコンテンツ構成要素を持っています。
検索コンポーネント内でフィルタリングを処理し、このリデューサで処理されるアクションをディスパッチします。
フィルタを追加した後、すべてのフィルタでアクションをディスパッチしたいと思います。どうやってやるの?
このアクションは、検索基準に一致する車だけを返却してコンテンツコンポーネントに表示するリデューサーで処理されます。
私はあなたが何を言いたいのか理解していただければ幸いです。
このアプローチはまったく良いですか?
これは私がいつもしていることです!約束を使用している場合は、約束が解決された後でいつでも 'then'を使用して次のアクションを開始することができます。 – Crysfel