如何从快递控制反应路由器
Posted
技术标签:
【中文标题】如何从快递控制反应路由器【英文标题】:How to control react-router from express 【发布时间】:2017-05-27 04:20:33 【问题描述】:我正在使用 node 和 express 后端构建一个反应应用程序。我使用 JWT 和护照进行身份验证。因此,当我登录时,它会返回授权令牌。所以现在可以使用令牌访问后端端点。但是我不知道如何限制用户在用户移动到其他路由(反应路由)时没有登录系统。我已经使用邮递员测试了端点,使用 axios 访问端点。当前保存在浏览器本地存储中的令牌,如何将令牌与 axios REST 调用一起发送?
【问题讨论】:
React Router Authorization的可能重复 【参考方案1】:找到了!我不必从后端进行控制,而是可以在 reeact 路由器中使用 onEnter 道具与中间件一起使用来检查某个身份验证。如果它返回 true,它将移动到您的路线,否则它将移动到您提到的默认路线。代码如下。
function requireAuth(nextState, replace)
if (!auth.loggedIn())
replace(
pathname: '/login',
state: nextPathname: nextState.location.pathname
)
render((
<Router history=withExampleBasename(browserHistory, __dirname)>
<Route path="login" component=Login />
<Route path="dashboard" component=Dashboard onEnter=requireAuth/>
</Router>
), document.getElementById('example'))
【讨论】:
以上是关于如何从快递控制反应路由器的主要内容,如果未能解决你的问题,请参考以下文章