React-router路由4.0版本用法


第一步:引包兩個

命令:cnpm i -S react-router react-router-dom

 

第二步:用路由管理APP頁面

1.創建主路由管理頁面,在這里使用了路由嵌套

 1 import React, { Component } from 'react';
 2 import { Route, BrowserRouter } from 'react-router-dom'
 3 import App from '../App'
 4 import SubRouter from './SubRouter' //二級路由
 5 
 6 export default class ReactApp extends Component {
 7   render() {
 8     return (
 9       <BrowserRouter>
10         <App>
11           {/* 這里為了分離得徹底,使用組件嵌套,app組件跳到SubRouter組件*/}
12           <Route path="/" component={SubRouter}></Route>
13         </App>
14       </BrowserRouter>
15     )
16   }
17 }

2.創建二級路由頁面,引入組件

 1 import React, { Component } from 'react'
 2 import { Route, Switch } from 'react-router-dom'
 3 import Home from '../Component/Home'
 4 import Movie from '../Component/Movie'
 5 import About from '../Component/About'
 6 
 7 export default class SubRouter extends Component {
 8   render() {
 9     return (
10       // 路由配置
11       <Switch>
12         <Route exact path="/" component={Home}></Route>
13         <Route exact path='/movie' component={Movie}></Route>
14         <Route exact path="/about" component={About}></Route>
15       </Switch>
16     )
17   }
18 }

3.在App頁面給顯示位置,以及設置點擊跳轉

 1 import React, { Component } from 'react';
 2 import { Link } from 'react-router-dom'
 3 export default class App extends Component {
 4   render() {
 5     return (
 6       <div>
 7         {/* 點擊路由跳轉,使用react-router-dom的Link */}
 8         <ul>
 9           <li>
10             <Link to='/'>首頁</Link >
11           </li>
12           <li>
13             <Link to='/movie'>電影</Link >
14           </li>
15           <li>
16             <Link to='/about'>關於</Link >
17           </li>
18         </ul>
19 
20         {/* 在APP主頁面,給SubRouter留顯示位置*/}
21         {this.props.children}
22       </div>
23     )
24   }
25 }

4.修改index.js需要渲染的組件,由渲染原來的APP改為渲染主路由,因為已經用路由管理App頁面了

1 import React from 'react';
2 import ReactDOM from 'react-dom';
3 import AppRouter from './AppRouter/AppRouter';
4 import * as serviceWorker from './serviceWorker';
5 
6 ReactDOM.render(<AppRouter />, document.getElementById('root'));
7 serviceWorker.unregister();

 

三.頁面效果

 

四.文件目錄

 

寫得有什么不對的地方,還請大家多多指教,多謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM