アクションはプレーンオブジェクトである必要があります。非同期アクションにはカスタムミドルウェアを使用します。
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 })
参考までに〜
終わり!