1、新增知識
/* 實現js跳轉路由:https://reacttraining.com/react-router/web/example/auth-workflow 1、要引入Redirect import {BrowserRouter as Router,Route,Link,Redirect,withRouter} from "react-router-dom"; 2、定義一個flag this.state = { loginFlag:false }; 3、render里面判斷flag 來決定是否跳轉 if(this.state.loginFlag){ return <Redirect to={{ pathname: "/" }} />; } 4、要執行js跳轉 通過js改變loginFlag的狀態 改變以后從新render 就可以通過Redirect自己來跳轉 */
2、代碼實現js跳轉路由
import React, { Component } from 'react';
import {Redirect} from "react-router-dom";
class Login extends Component {
constructor(props) {
super(props);
this.state = {
loginFlag:false
};
}
doLogin=(e)=>{
e.preventDefault();
let username=this.refs.username.value;
let password=this.refs.password.value;
console.log(username,password)
if(username=='admin' && password=='123456'){
//登錄成功 跳轉到首頁
this.setState({
loginFlag:true
})
}else{
alert('登錄失敗')
}
}
render() {
if(this.state.loginFlag){
// return <Redirect to={{ pathname: "/" }} />;
return <Redirect to='/' />;
}
return (
<div>
<br /> <br /> <br />
<form onSubmit={this.doLogin}>
<input type="text" ref="username" /> <br /> <br />
<input type="password" ref="password" /> <br /> <br />
<input type="submit" value="執行登錄"/>
</form>
</div>
);
}
}
export default Login;
3、
