自分のページにチェックボックスベースのフィルタリングを実装したいと思います。私がチェックボックスをクリックすると、状態を変更し、チェック項目に基づいてajax呼び出しを行いたい。状態変更後にajaxを呼び出す
私が選択した項目からIDを削除/追加toggleCheckbox(id)
アクションと減速を作成しましたが、私は、AJAX呼び出しを配置する必要がないアイデアを持っていません。
アイデア?
自分のページにチェックボックスベースのフィルタリングを実装したいと思います。私がチェックボックスをクリックすると、状態を変更し、チェック項目に基づいてajax呼び出しを行いたい。状態変更後にajaxを呼び出す
私が選択した項目からIDを削除/追加toggleCheckbox(id)
アクションと減速を作成しましたが、私は、AJAX呼び出しを配置する必要がないアイデアを持っていません。
アイデア?
ネットワーク呼び出しは非同期であり、そしてアクションは、デフォルトの同期です。彼らはただのオブジェです。非同期動作を処理するには、redux-sagasやredux-thunksのような副作用ライブラリが必要です。 https://redux.js.org/docs/advanced/AsyncActions.htmlとhttps://redux-saga.js.org
コンポーネントは非同期アクションをディスパッチして、選択したアイテムを切り替えるロジックが重複しないようにして、非同期アクションに移動し、通常アクションをトグルからセットに変更する必要があります。このように:
const toggleCheckbox = id => (dispatch, getState) => {
const items = toggle(id, getState().selectedItems);
dispatch(setSelectedItems(items));
// call API with "items"
};
ありがとう、私はサガやサンクを使用する必要があることを知っています。私の問題は、このAJAX呼び出しをどこで行うべきかということです。そのため、状態を変更しました。 –
サンクまたはサガ(あなたが使用しているもの)から、成功アクションをディスパッチし、アクションペイロードに新しいデータを渡します。次に、減速機のペイロードを使用して状態を変更します。 –