react-router
有dom
和native
两种版本但是使用方法一致
安装npm install react-router-dom --save
react-router
五个常用组件{BrowserRouter,Link,Route,Redirect,Switch}
·BrowserRouter
用于最外层容器&
只需要书写一次&
内部只能有一个子元素所以这里用了一个div
·Link
类似于a
标签 to
属性类似于href
·Route
是路由 path
是路径 component
对应要渲染的react
组件
·exact
是精确匹配路由如果不加exact
的话/2
会同时渲染/
和/2
的内容
·Switch
从上到下匹配到一个则执行并跳出
·Redirect
是网页重定向
·path='/:location'
可以将this.props.match.params,location
属性赋值当前path
根目录后的路由
Demo
function page2(){
return (<h2>page2</h2>)
}
class Text extends React.Component {
render() {
return <h2>{this.props.match.params.location}</h2>
}
}
<Provider store = {store}>
<BrowserRouter>
<div>
<Link to='/'>page1</Link>
<Link to='/2'>page2</Link>
<Switch>
<Route path='/' component={App} exact></Route>
<Route path='/2' component={page2}></Route>
<Redirect to='/'></Redirect>
<Route path='/:location' component={Text}></Route>
</Switch>
</div>
</BrowserRouter>
</Provider>
网友评论