【发布时间】:2018-05-17 14:11:20
【问题描述】:
我正在尝试写 Authentication 检查我的 DashBoard。但是函数本身没有被调用。谁能给我一些解决方案?我正在使用 ReactJs 进行开发。
这是路线部分:
<Router>
<div>
<Route exact path={"/"} component={Home} />
<Route path={"/SignUp"} component={SignUp} />
<Route path={"/SignIn"} component={SignIn} />
<Route path={"/Dashboard"} component={Dashboard} onEnter={this.requireAuth} />
</div>
</Router>
这是函数:
requireAuth (nextState, replace) {
console.log("?????????????",this.state.getToken);
if(!this.state.getToken) {
replace({pathname: '/'});
}
}
【问题讨论】:
-
如果您使用的是 React-router v4,请查看stackoverflow.com/questions/45429963/…
-
我已经改变了:"
{requireAuth(); return }} / >” 但我收到“bundle.js:6004 警告:您不应在同一路由中使用 和 ; 将被忽略”错误。 -
因为错误表明您不应该同时是组件和渲染,请按照链接答案中的建议从渲染道具渲染组件仪表板
-
{requireAuth(); return }} /> 这个错误显示为“requireAuth is not defined” -
不会是
this.requireAuth()
标签: reactjs authentication redirect react-router