亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在React-Router v4中以編程方式導航

在React-Router v4中以編程方式導航

慕村225694 2019-10-21 15:02:12
完成某些驗證后,如何移動到新頁面React Router V4?我有這樣的事情:export class WelcomeForm extends Component {    handleSubmit = (e) => {        e.preventDefault()        if(this.validateForm())            // send to '/life'    }    render() {        return (            <form className="WelcomeForm" onSubmit={this.handleSubmit}>                <input className="minutes" type="number" value={this.state.minutes} onChange={ (e) => this.handleChanges(e, "minutes")}/>            </form>        )    }}我想將用戶發送到另一條路線。我看過Redirect,但似乎它將從我不想要的歷史記錄中刪除當前頁面。
查看完整描述

3 回答

?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

您可以使用withRouter將history對象作為屬性注入的高階組件。然后,您可以history.push用來進行重定向:


import { withRouter } from 'react-router-dom';

...


class WelcomeForm extends Component {


    handleSubmit = (e) => {

        e.preventDefault()

        if(this.validateForm())

            this.props.history.push('/life');

    }


    render() {

        return (

            <form className="WelcomeForm" onSubmit={this.handleSubmit}>

                <input className="minutes" type="number" value={this.state.minutes} onChange={ (e) => this.handleChanges(e, "minutes")}/>

            </form>

        )

    }

}

export default withRouter(WelcomeForm);

要進行重定向,您還可以<Redirect to="/someURL" />在某些情況下使用,但是必須渲染此組件,因此您必須在JSX中的某個位置使用它。


查看完整回答
反對 回復 2019-10-21
  • 3 回答
  • 0 關注
  • 1106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號