從零開始學習React-路由react-router配置(四)
- 2019 年 11 月 11 日
- 筆記

路由react-router可以實現根組件自動掛載其他不同的子組件,今天寫一個路由的配置首先打開github搜索react-router,看一下上面有寫好的示例,照葫蘆畫瓢即可:


具體步驟
1:新建組件
在components文件夾底下新建3個組件頁面,用於頁面跳轉路由的示例: Home.js
import React, { Component } from 'react'; class Home extends Component { constructor(props) { super(props); //react定義數據 this.state = { } } render() { return ( <div> <h2>我是Home組件介面</h2> </div> ) } } export default Home;New.js
import React, { Component } from 'react'; class News extends Component { constructor(props) { super(props); //react定義數據 this.state = { } } render() { return ( <div> <h2>我是News介面</h2> </div> ) } } export default News;About.js
import React from 'react'; class About extends React.Component { //構造函數 constructor(props) { super(props); //react定義數據 this.state = { } } render() { return ( <div> <h2>我是About介面</h2> </div> ) } } export default About;2:安裝路由模組
打開終端,進入項目,輸入安裝路由模組的命令。
cnpm install react-router-dom --save

3:引入路由模組
安裝完成之後,在根組件App.js裡面引入路由模組。
import {BrowserRouter as Router,Route,Link} from "react-router-dom";4:路由程式碼
複製文檔裡面的路由配置的程式碼到根模組App.js裡面。
<Router> <div> <Route exact path="/" component={Home} /> <Route exact path="/news" component={News} /> <Route exact path="/about" component={About} /> </div> </Router>5:引入前面面創建的3個組件
import Home from './components/Home'; import About from './components/About'; import News from './components/News';
到這一步的時候,路由配置完成了。
6:頁面跳轉標籤
我們需要寫個li標籤,將跳轉組件的路徑寫在裡面。
<ul> <li> <Link to="/">Home</Link> </li> <li> <Link to="/news">News</Link> </li> <li> <Link to="/about">About</Link> </li> </ul>
好了,現在可以測試一下了

App.js參考程式碼
import React from 'react'; import {BrowserRouter as Router,Route,Link} from "react-router-dom"; //引入新建的組件 import Home from './components/Home'; import About from './components/About'; import News from './components/News'; function App() { return( <Router> <div> <ul> <li> <Link to="/">Home</Link> </li> <li> <Link to="/news">News</Link> </li> <li> <Link to="/about">About</Link> </li> </ul> <hr /> <Route exact path="/" component={Home} /> <Route exact path="/news" component={News} /> <Route exact path="/about" component={About} /> </div> </Router> ); } export default App;
