私はバインドされたアクションの作成者の中で基本的な検証を行っています。アクションクリエイターの条件付き発送
const mapDispatchToProps = {
onSomething: (props) => {
if (performValidation(props)) {
return { type: 'SOME_ACTION' };
}
}
};
検証が失敗し、ディスパッチするアクションが返されない場合、私はエラーを受け取りました。
アクションはプレーンなオブジェクトである必要があります。非同期アクションにはカスタムミドルウェアを使用します。
これは期待されますか?私はサンクを使用して問題を回避することができますが、それは非非同期条件付きディスパッチのための過剰なようです。
私は多くを考えました。ディスパッチしないでください。undefinedを無視してください。これにより、上記のような条件付きディスパッチが可能になり、ミドルウェアは必要ありません。 – madcapnmckay
いいえ。ディスパッチ()の契約では、レデューサーに到達するプレーンなJSオブジェクト以外のものは、エラー期間とみなされます。ミドルウェアは、それらが減速機に達するのを妨げるか、途中でそれらを変換することによって非平衡オブジェクト値を受け入れるように「ディスパッチ」を「教える」ことができる。 'redux-thunk'は関数を探して呼び出し、ミドルウェアのパイプラインに沿ってそれらを転送しません。未定義の値をキャッチするミドルウェアも簡単に作成できますが、それはコアストアのAPIコントラクトビヘイビアとは別です。 – markerikson