Javascript 使用react路由器的受保护路由,但需要到服务器的异步请求
要求: 如果用户应用于某个作业,请将“应用的\u作业标志”的标志传递到后端,然后将该用户带到“作业”页面,如果“应用的\u作业标志”为真,则阻止用户访问其他页面。即使用户刷新页面,如果applied_job标志为true,仍然会将用户重定向到jobs页面 问题是我使用高阶函数或高阶组件来保护路由,我不知道如何调用api来获取标志Javascript 使用react路由器的受保护路由,但需要到服务器的异步请求,javascript,reactjs,authentication,redux,redux-thunk,Javascript,Reactjs,Authentication,Redux,Redux Thunk,要求: 如果用户应用于某个作业,请将“应用的\u作业标志”的标志传递到后端,然后将该用户带到“作业”页面,如果“应用的\u作业标志”为真,则阻止用户访问其他页面。即使用户刷新页面,如果applied_job标志为true,仍然会将用户重定向到jobs页面 问题是我使用高阶函数或高阶组件来保护路由,我不知道如何调用api来获取标志 const PrivateRoute = ({ component: Component, ...rest }) => ( <Route {...r
const PrivateRoute = ({ component: Component, ...rest }) => (
<Route {...rest} render={(props) => {
return (
true //assume this flag is from server, how to do an api call here??
? <Redirect to='/jobs' {...props} />
: <Component {...props} />
)
}} />
)
const PrivateRoute=({component:component,…rest})=>(
{
返回(
true//假设此标志来自服务器,如何在此处执行api调用??
?
:
)
}} />
)
如果我在外面做,我应该在哪里打电话?我可以将该标志存储在localstorage中,但如果是这样,用户可以从客户端删除它,这也不正确。您可以参考此链接哦,好的,谢谢链接,我可以调用外部并将道具传递给受保护的高阶组件。