npm install -g create-react-app 全局環境
html
create-react-app my-app 建立項目
react
cd my-app 進入項目
ios
npm start 啓動
npm
路由是根據不一樣的 url 地址展現不一樣的內容或頁面。
複製代碼
一個針對React而設計的路由解決方案、能夠友好的幫你解決React components 到URl之間的同步映射關係。
複製代碼
npm uninstall react react-dom --save-dev
複製代碼
npm i react@15 react-dom@15 react-router@2 axios --save-dev
複製代碼
import React from 'react'
import ReactDOM from 'react-dom'
import { Router, Route, Link, hashHistory} from 'react-router'
複製代碼
定義連接的組件,相似於a標籤。 <Link to='/users'>users</Link>
編程
{this.props.children}
==至關於路由試圖的容器axios
renderbash
(<Router history={hashHistory}>
<Route path=」/" component={Demo}> <Route path="/home" component={Header}></Route> <Route path="/about" component={Con}></Route> </Route> </Router>, document.getElementById('root')) 複製代碼
<Route>
組件有以下屬性:react-router
指定默認狀況下加載的子組件。你能夠把IndexRoute想象成某個路徑的index.html。app
例如:dom
<Route path="/" component={App}>
<IndexRoute component={Index}/>
</Route>
複製代碼
const ACTIVE = { color: 'red' }
複製代碼
<Link to="/users" activeStyle={ACTIVE}>users</Link>
複製代碼
<Link to=「/users/1>users</Link>
<Route path="/user/:xxxx" component={User}/>
複製代碼
this.props.params.xxxx==1
hashHistory.push('/home')
<Route path="inbox" component={Inbox}>
<Route path="messages/:id" component={Message} />
</Route>
複製代碼
<Route path="inbox" component={Inbox}>
<Route path=「/messages/:id" component={Message} /> </Route> 複製代碼
<Route path=」/index" component={index}> <Redirect from=」/index/a" to=「/other" /> </Route> 複製代碼
從 /index/a 跳轉到 /other
重定向
<IndexRedirect to="/home"/>
複製代碼
查詢符-query 定義:
<Route path="/user/:xxxx" component={User}/>
複製代碼
取得參數: this.props.params.xxxx
例如:
<Link to={{pathname:'/list',query:{id:item.goodsID} }}>
<Route path="/user" component={User}/>
複製代碼
url:/user/10086?foo=bar
this.props.params.userId 是 10086
this.props.location.query.foo 是 bar
複製代碼