react路由器只替换history.push上的最终路由

KAT*_*KAT 3 javascript reactjs react-router

经过一段时间后,我正在尝试将react路由器重定向到另一个页面.

我到目前为止的代码是:

 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}`)
    }
Run Code Online (Sandbox Code Playgroud)

历史肯定被称为,但目前的网址

/addActivity/tile/2/plan/9
Run Code Online (Sandbox Code Playgroud)

只会更改为/ addActivity/tile/2/plan/tile/2

虽然/ tile/2是正确的我不明白为什么其余的url保持机智?

Tho*_*lle 7

确保/在字符串的开头包含a ,否则它将相对于您当前的url使用.

goBackToTile() {
    this.props.history.push(`/tile/${this.state.tileId}`)
}
Run Code Online (Sandbox Code Playgroud)

  • 伟大的!节省了我很多时间:) (3认同)