gpt4 book ai didi

javascript - 在使用 React Router 渲染组件之前,如何等待 Promise 得到解决?

转载 作者:行者123 更新时间:2023-12-03 13:55:35 25 4
gpt4 key购买 nike

我正在使用 React Router,他们的私有(private)路由示例是:

const fakeAuth = {
isAuthenticated: false,
authenticate(cb) {
this.isAuthenticated = true
setTimeout(cb, 100) // fake async
},
signout(cb) {
this.isAuthenticated = false
setTimeout(cb, 100)
}
}

const PrivateRoute = ({ component: Component, ...rest }) => (
<Route {...rest} render={props => (
fakeAuth.isAuthenticated ? (
<Component {...props}/>
) : (
<Redirect to={{
pathname: '/login',
state: { from: props.location }
}}/>
)
)}/>
)

我的问题是:如何在渲染组件之前调用端点,以验证存储在 session 存储中的 token 是否仍然有效?因此,只有当我的 session 存储中没有任何内容(我可以轻松做到这一点),或者 session 存储中的访问 token 不存在时,我的 PrivateRoute 才会重定向不再有效(这是我调用 API 来查看它是否仍然有效的地方。

最佳答案

为什么不使用 this.setState?它的第二个参数允许您进行回调。您可以在其中重定向用户

关于javascript - 在使用 React Router 渲染组件之前,如何等待 Promise 得到解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44705255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com