我正在尝试实施条件重定向。
所以在函数内部我使用了这个:
if(request.responseText==="true"){
window.location.href = '/home';
}
...
但是当我使用react.js时,我正在尝试从Redirect
实现react-router-dom
。
所以我尝试了以下代码:
if(request.responseText==="true"){
<Router>
<Redirect to={"/home"}/>
</Router>
}
...
但是现在甚至还没有编译,它给了我错误:
期望了一个赋值或函数调用,而是看到了一个表达式no-unused-expressions
答案 0 :(得分:1)
我认为您不需要用Router
包裹它,您可以拥有它,
if(request.responseText==="true"){
return <Redirect to="/home" />
}
答案 1 :(得分:1)
您的组件应该包装在 withRouter 中,请参见React Router - withRouter,然后您的组件现在在道具中具有历史记录。在您的示例中,如下所示使用它:
if(request.responseText==="true"){
this.props.history.push('/home')
}
希望这会有所帮助!编码愉快! :)
答案 2 :(得分:-1)
根据文档应为
<Redirect to="/dashboard"/>
请注意,花括号被删除。
https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/Redirect.md