アクションはプレーンオブジェクトである必要があります。非同期アクションにはカスタムミドルウェアを使用します。



Actions Must Be Plain Objects



この質問には、インターネット上で非常に詳細な説明があります。ここでは、この問題の理由についてのみ説明します。


Redux中間actoin関数にカプセル化した後、この関数をコンポーネントのメソッドで使用します。



const getChangeInputValueAction = (value) => { type: CHANGE_INPUT_VALUE, value } handleInputChange(e) { const action = getChangeInputValueAction(e.target.value) store.dispatch(action) }

その後、エラーが発生しました。デバッグ後、アクションをラップしたときにES6の構文が間違っていることがわかりました...
const action = getChangeInputValueAction(e.target.value)このコードはactionになったundefined

したがって、私のコードがこのエラーを報告した理由は次のとおりです。 give dispatch渡された値undefinedパラメータ



getChangeInputValueAction矢印関数の後ろの小さな括弧、正しい書き方:

const getChangeInputValueAction = (value) => ({ type: CHANGE_INPUT_VALUE, value })

参考までに〜

終わり!