1安裝react-router-dom npm install react-router-dom --save-dev //這裏可使用cnpm代替npm命令 1 新建router文件 //引入 react-router-dom import { HashRouter, Route, Switch, BrowserRouter as Router } from "react-router-dom"; //分別添加兩個頁面 import App from '../App'; import Home from '../Home'; const BasicRoute = () => ( <Router> <Switch> <Route exact path="/" component={App} activeClassName="active"/> <Route exact path="/home" component={Home} activeClassName="active"/> </Switch> </Router> ); export default BasicRoute;
2 index.js //引入路由 import Router from './router/router'; //首先渲染的component ReactDOM.render(<Router/>, document.getElementById('root')); 3 路由的跳轉 import { BrowserRouter as Router, Route, Link, Prompt } from "react-router-dom"; <Link to="/home">home</Link> <input type="button" value="Home" onClick={this.goHome.bind(this)}/> state 隱式傳參 <Link to={{ pathname:'/home',state:{ type: 'id' }}} >home</Link> query 隱式傳參 <Link to={{ pathname:'/home',query:{ type: 'id' }}} >home</Link>
{/* 離開頁面時提示*/}
<Prompt message="您肯定要離開該頁面嗎?" /> 方法跳轉
goHome() { this.props.history.push({ pathname: '/Home', state: { id: 3 } }) }
//子頁面 接受傳值 (不一樣方式下的接受方式)
componentWillMount() {
let _id = this.props.match.params.id,
id = this.props.history.location.state,
id1 = this.props.history.location.query;
console.log("準備好了", _id, id, id1);javascript
};java