react路由

先下載路由react

1 npm install react-router-dom --save-dev

而後新建兩個頁面npm

component1.jsreact-router

 1 import React from 'react';
 2 
 3 class Component1 extends React.Component{
 4     render(){
 5         return (
 6             <div>
 7                 <a href="#/component2">去component2</a>
 8             </div>
 9         );
10     }
11 }
12 
13 export default Component1

component2.jsdom

 

import React from 'react';

class Component2 extends React.Component{
    render(){
        return (
            <div>
                <a href="/">回到component1</a>
            </div>
        );
    }
}

export default Component2

 

注意:React.Component的Component中C必定要大寫spa

而後新建Routers.jscode

 1 import React from 'react';
 2 import {HashRouter, Route, Switch} from 'react-router-dom';
 3 import Component1 from '../view/Component1';
 4 import Component2 from '../view/Component2';
 5 
 6 const BasicRoute = () =>(
 7     <HashRouter>
 8         <Switch>
 9             <Route exact path='/' component={Component1}/>
10             <Route exact path='/component2' component={Component2}/>
11         </Switch>
12     </HashRouter>
13 )
14 
15 export default BasicRoute;

index.js中編寫以下:component

1 import React from 'react';
2 import ReactDOM from 'react-dom';
3 import Router from './router/Routers'
4 
5 ReactDOM.render(<Router />, document.getElementById('root'));

這樣完成了一個簡單的路由跳轉router

路由的exact屬性blog

具體區別以下:路由

1 <Route path='/' component={Home} />
2 <Route path='/page' component={Page}>
3 //這種狀況下,若是匹配路由path='/page',那麼會把Home也會展現出來。
4 //既路由path='/page'會匹配路由path='/'和路由path='/page'
1 <Route exact path='/' component={Home} />
2 <Route path='/page' component={Page} />
3 //這樣匹配路由path='/page',只會匹配到Page組件
相關文章
相關標籤/搜索