實現js跳轉路由:
/* 實現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自己來跳轉 */ 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;