問題タブ [redux-toolkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
889 参照

javascript - createSlice レデューサーの準備関数でエンティティ ID を作成する方法

redux-toolkit の関数に含めたレデューサーにprepare含まれるコールバック関数に問題があります。addEntitycreateSlice

prepareコールバックを使用して、一意の ID をアクション ペイロードに追加しようとしています。

redux-toolkitのcreateSliceドキュメントには次のように書かれています。

準備コールバックを使用してアクション クリエーターのペイロード値の作成をカスタマイズする必要がある場合は、reducers 引数オブジェクトの適切なフィールドの値を関数ではなくオブジェクトにする必要があります。このオブジェクトには、reducer と prepare の 2 つのプロパティが含まれている必要があります。レデューサー フィールドの値はケース レデューサー関数である必要があり、準備フィールドの値は準備コールバック関数である必要があります。

これが私が使用しているコードです(TypeScriptで書かれています):

しかし、アプリをコンパイルし、addEntityアクションを使用してエンティティの作成をテストすると、prepareコールバックは何もしていないように見えます。

Redux DevTools を使用してディスパッチするアクションは次のとおりです。

結果の状態:

"test"ペイロードがレデューサーに渡される前に準備コールバックが ID を上書きしないのはなぜですか? ヘルプやガイダンスをいただければ幸いです。