如果在文本框中輸入 user,它將進入用戶頁面,如果輸入 admin,它將進入管理頁面。
這是我的代碼。
constructor(props) {
super(props);
this.state = {
userType : 0
};
this.handleLogin = this.handleLogin.bind(this);
}
如果userType為 0,則嘗試轉到用戶頁面,如果為 1,則嘗試轉到管理頁面。
handleLogin() {
if(this.state.id==='admin'){
this.setState({userType : 1});
}
else{
this.setState({userType : 0});
}
}
userType輸入管理員時,我將其更改為 1。我已確認在此操作之前它運行良好。
<Link to={this.state.userType === 0 ? '/userPage' : '/adminPage'}>
<button className='loginButton' onClick={this.handleLogin}>Login</button>
</Link>
問題似乎是這部分。但我不知道如何解決它。請給我一個解決方案。
uj5u.com熱心網友回復:
您不應同時使用鏈接和按鈕。你可以簡單地這樣做:
<Link to={this.state.id==='admin' ? '/adminPage' : '/userPage'}>
Login
</Link>
uj5u.com熱心網友回復:
如果您想將用戶重定向到onClick事件的另一個頁面,那么histoty.push()正確的方法就是這樣做。此處應使用宣告式路由。你可以這樣實作-
handleLogin() {
if(this.state.id==='admin'){
this.props.history.push("/adminPage");
}
else{
this.props.history.push("/userPage");
}
}
<button className='loginButton' onClick={this.handleLogin}>Login</button>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/448639.html
標籤:javascript 反应 反应路由器dom
上一篇:使用JavaScript合并資料
