私はReact/Reduxを初めて使うので、Reduxフォームを使って簡単なブログアプリケーションを構築しています。今私は、私のアクションでapiにフォームからデータを送信するときに、どのようにajaxエラーを処理するのか不明です。主な問題は、ReduxフォームのonSubmitSuccess設定プロパティを使用していて、エラーが発生しても常に呼び出されているようです。私はonSubmitSuccessまたはonSubmitFailをトリガーするものが本当に不明です。私のonSubmitFail関数は決して実行されませんが、エラーが発生したかどうかに関係なく、私のonSubmitSuccess関数は常にあります。ReduxフォームでのAJAXエラーの処理
「なぜならAJAX I/Oのための約束を拒否からの検証エラーの約束拒絶反応を区別するために」私はReduxの形式のドキュメントでは約SubmissionErrorを読んで、それはそれの目的はだという。だから、それは私の必要と反対のように聞こえる。
Redxでミドルウェアとしてredux-promiseを使用しています。
ここに私のコードです。私は意図的に私のcreatePostアクションでエラーを発生させるために私のサーバーAPIでエラーを投げている:
コンテナは、私のReduxのフォームでのonSubmit
export async function createPost(values) {
try {
const response = await axios.post('/api/posts', values)
return {
type: CREATE_POST,
payload: response
}
} catch (err) {
// what would I do here that would trigger onSubmitFail(),
// or stop onSubmitSuccess() from executing?
}
}
これは素晴らしい動作します。何らかの理由で、私はajaxコールのようなものはあなたの行動の中でのみ処理されるべきだと考えました。私はonSubmit関数の中でそれをすることを考慮していませんでした。 – Adam