我尝试在经过一定时间后使用React Router重定向到另一个页面。
到目前为止,我的代码是:
submitActivity(){
axios.post('/tiles', {
activityDate:this.state.startDate,
planId:this.state.planId,
value:this.state.sliderValue
})
.then(res=>{
console.log(res);
this.modalHandleShow();
setTimeout(function(){
this.goBackToTile();
}.bind(this),3000);
})
.catch(err=>console.log(err));
}
goBackToTile(){
this.props.history.push(`tile/${this.state.tileId}`)
}
历史记录肯定会被调用,但是当前使用的网址
/addActivity/tile/2/plan/9
仅更改为 / addActivity / tile / 2 / plan / tile / 2
/ tile / 2是正确的,我不明白为什么其余的URL保持原样?
答案 0 :(得分:5)
确保在字符串的开头包含一个/
,否则它将相对于您当前的URL使用。
goBackToTile() {
this.props.history.push(`/tile/${this.state.tileId}`)
}