ReactDOM.render(
<Provider store={store}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</Provider>,
document.getElementById('root'));
我使用服务层与 Web API 通信并集中 API 调用和 HTTP 错误处理。
export class HttpClient {
constructor(dispatch: any) {
this.axios = require('axios');
this._dispatch = dispatch;
}
public Post<T>(apiEndpoint: any, payload: T) {
return this.axios.post(apiEndpoint, payload)
.catch((error: any) => {
this.HandleServerError(error);
});
}
}
HTTP 错误处理。
HandleServerError(error: any) {
if (error.response.status == 500) {
window.location.href = '/Internal-Server-Error';
} else if (error.response.status == 401) {
window.location.href = '/Unauthorized';
}
else if (error.response.status == 400) {
window.location.href = '/BadRequest';
}
else
this._dispatch({ type: 'RECEIVE_HTTP_ERROR', response: error.response.data });
}
我不想使用来自 HTTP 服务层的window.location.href 。如何使用 React 路由器来维护历史记录?
四季花海
相关分类