要求:
如果用户已应用于作业,则将applied_job标志的标志传递给后端,然后将用户带到作业页面,如果applied_job标志为true,则阻止用户访问其他页面。即使用户刷新页面,如果applied_job标志为真,仍然会将用户重定向到作业页面。
问题是我使用更高阶函数或更高阶的组件来进行路径保护,我不知道如何调用api来获取标志。
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} />
)
}} />
)
https://codesandbox.io/s/6rrlz3xpz
如果我在外面打电话,我应该在哪里打电话?我可以将标志存储在localstorage中,但如果是这样,用户可以从客户端删除它,这也是不对的。