javascript - 如果后端服务器已关闭,那么如何使用 Axios 在 Reactjs 中进行处理
问题描述
目前我正在使用 Axios 从后端获取数据,如果后端已关闭,那么如何处理它。现在如果用户在没有登录的情况下直接访问APP中的某个页面,它会显示给他空白数据的页面。由于后端已关闭,因此它也不会重定向到 403 页面。
当后端关闭时,用户应该被重定向到其他页面,如果他直接尝试访问它,他应该无法看到任何页面。
我正在使用 Redux 进行状态管理 React-Router 用于路由 Axios 以获取数据
解决方案
您可以使用Redirect
和 privateRoute。
PriveRoute 组件:
function PrivateRoute({ component: Component, ...props }) {
const isAuthenticated = true or false;
return (
<Route
render={props =>
isAuthenticated ? (
<Component {...props} />
) : (
<Redirect
to={{
pathname: "/login",
state: { from: props.location }
}}
/>
)
}
{...props}
/>
);
}
export default PrivateRoute;
并将其用于您的BrowserRouter
:
<PrivateRoute
exact
path='/home'
component={<Home />}
/>
您可以检查您的后端是否已启动并根据它在 redux 中设置状态,并PrivateRoute
检查此状态,如果它未启动,则重定向到Component
您想要的login
.
推荐阅读
- c# - Revit 中的对话框
- python - 将任意(未使用的)关键字参数传递给 matplotlib
- javascript - 在 React Native 中访问对象项时出错
- scheme - 在这种情况下,“下一步”是什么意思?
- c# - 如何在 Unity3d 上没有滞后的情况下在场景中生成敌人 AI?
- tensorflow - Tensorflow: is there a way to load a pretrained model without having to redefine all the variables?
- java - java多线程在不同的操作系统上是否不同?
- numpy - numpy.irr 使用月度数据
- express - Vue历史模式和快递服务器出现404错误
- php - 第二个“if”语句描述了一个错误,如果令牌 = 小于 10。为什么它是一个超过 10 的错误?