を使用してネイティブ反応します。注:私はredux-thunkミドルウェアを使用しています。私が行うことができるようにしたいどのようなは、私は私のコンポーネントに反応から呼び出されるアクションの作成者を持ってReduxの-サンク
export function submitProfile(profile) {
return dispatch => {
axios.post(`some_url`, profile)
.then(response => {
console.log("Profile submission request was successful!");
dispatch({ ... }); // dispatch some action
// this doesn't seem to do anything . . .
return Promise.resolve();
})
.catch(error => {
console.log(error.response.data.error);
});
};
}
は、プロファイルを提出し、その要求が成功した後、その後、私のコンポーネントからのナビゲーターに新しいルートをプッシュするアクションの作成者を呼んでいます。投稿のリクエストが成功したと判断してルートをプッシュできるようにしたいだけです。それ以外の場合は、何もプッシュしませんが、エラーが発生したとします。もう一度やり直してください。
私はオンラインで検索してPromise.resolve()を見つけましたが、私の問題は解決していません。私は、redux-promiseミドルウェアを使用していた場合、アクションクリエーターを呼び出した後、ちょうど私ができることを知っています。どのように私はそれをredux-thunkでやっていますか?
さて、現在作業中です。 axios.postリクエストに** return **キーワードを追加するだけでした。つまり、次のようになります。return dispatch => {** return ** axios.post(...); }; – nbkhope
あなた自身の質問に答えてそれを受け入れることができます。多分それは将来同様の問題を持つ他の人を助けるでしょう。 –
実際には、コンポーネントでエラーのケースを処理したかったので、アクションクリエータを呼び出したときに解決策が見つかりませんでしたが、アクションクリエータ自体がキャッチを実行しても常に成功ケースが返されることが判明しました。アクションクリエイターのcatchブロック内にPromise.rejectを返す必要がありますか? – nbkhope