私はreact/reduxアプリケーションでaxios
を使用しています.401,404などのエラーが発生した場合、現在は各アクション関数私は斧に電話をかけます。私はaxios_config.jsを持っています。ここでいくつかの共通の慣用表現でAxiosコールをラップしています。たとえば:エラー応答コードにグローバルaxios configを設定する方法はありますか
export function fetchBrands() {
return function(dispatch) {
dispatch({type:FETCHING_BRANDS});
fetchData('brands')
.then(response => {
dispatch({
type: FETCH_BRANDS_SUCCESS,
payload: response
});
})
.catch(err => {
// deal with errors
});
}
}
しかしcatch
ブロックで、私は「ドン:私は苦労してる
// need to move this to app config
const BASE_URL = 'http://localhost:8080/api/';
function config() {
return {
headers: {'X-Token-Auth': localStorage.getItem('token')}
}
}
export function fetchData(url) {
return axios.get(`${BASE_URL}${url}`, config());
};
は401、404、など現在のように、私はこれをやっている一般的なエラーです毎回401、404などに対処しなければならない。だから私はよりグローバルな規模でそれらに対処することができる必要がありますが、依然としてサーバー側の検証エラーのような要求に特定のエラーを処理する能力があります。
おかげで、私は今日、この打撃を与えると、それがうまくいく方法を見ていきます。 – Gregg
コードが正しくないので編集しましたが、要点は十分です。しかし、問題を解決するために正解とマークされていますが、私はこれらを少し上品に扱うように感じています。エンドユーザは、エラー処理についてあまりにも多くのことを理解する必要があります。 – Gregg
@linkここで関数を渡すのではなく、要求オブジェクトを渡すようにします。機能はここで誤解を招くようです。 –