react路由器仅替换了history.push

时间:2018-07-10 23:10:44

标签: javascript reactjs react-router

我尝试在经过一定时间后使用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保持原样?

1 个答案:

答案 0 :(得分:5)

确保在字符串的开头包含一个/,否则它将相对于您当前的URL使用。

goBackToTile() {
    this.props.history.push(`/tile/${this.state.tileId}`)
}
相关问题