我正在尝试在我的reactjs项目的成功方案中重定向到另一个页面。我已经尝试过以下方法中解释的方法来做到这一点,但没有成功
this.props.router.push('/home');
this.context.router.push('/home');
this.history.pushState(null, 'home');
browserHistory.push('/home');
以及我在stackoverflow上找到的许多其他方法。我怎样才能成功做到这一点。
我的代码
function handleLoginResponse(response){
switch (response.data.response){
case "200":
/**
* in sccuess senario
* redirect to the home page
* set cookies for token and user id create session
* */
this.history.pushState(null, 'home');
break;
case "201":
console.log("201");
break;
case "202":
console.log("202");
break;
case "203":
console.log("203");
break;
case "204":
console.log("204");
break;
case "205":
console.log("205");
break;
case "206":
console.log("206");
break;
}
}
当我得到'200'的回复
时,我想重定向到另一个页面谢谢。
答案 0 :(得分:1)
用简单的方法可以使用Redirect
import { Redirect } from 'react-router'
创建状态然后将重定向连接到您的状态
示例:
import React, {Component} from 'react'
import { Redirect } from 'react-router'
export default class MyRedirect extends Component{
constructor(){
super()
this.state = {
redirect : false
}
}
handleLoginResponse(){
switch(response){
case '200':
this.setState({redirect: true})
break;
}
}
render(){
return(
{this.state.redirect && <Redirect to="yourpath" />}
)
}
}