有谁知道如何在react-router中限制对特定路由的访问?我想在允许访问特定路由之前检查用户是否已登录。我以为这很简单,但是文档尚不清楚该怎么做。
这是我应该在定义<Route>
组件的位置设置的东西,还是应该在组件处理程序中处理的东西?
<Route handler={App} path="/">
<NotFoundRoute handler={NotFound} name="not-found"/>
<DefaultRoute handler={Login} name="login"/>
<Route handler={Todos} name="todos"/> {/* I want this to be restricted */}
</Route>
通常,已登录的用户将被授予令牌,并将该令牌用于与服务器的任何通信。我们通常要做的是定义一个根页面,然后在该页面的顶部进行构建。该根页面为您执行本地化,身份验证和其他配置。
这是一个例子
在您的根页面上,检查令牌是否为null或使用服务器对令牌进行身份验证,以查看用户是否有效登录。
希望这可以帮助 :)