程序员

React-router 4.0详解

2018-07-06  本文已影响37人  前端小兵

React-router-dom

API

<BrowserRoute>

<Router> 使用 HTML5 提供的 history API (pushState, replaceState 和 popstate 事件) 来保持 UI 和 URL 的同步。

<HashRouter>

HashRouter 使用 URL 的 hash (例如:window.location.hash) 来保持 UI 和 URL 的同步。

<Router>

<Route path='/roster'/>
// 当路径名为'/'时, path不匹配
// 当路径名为'/roster'或'/roster/2'时, path匹配
// 当你只想匹配'/roster'时,你需要使用"exact"参数
// 则路由仅匹配'/roster'而不会匹配'/roster/2'
<Route exact path='/roster'/>

<Route>

渲染

当匹配到对应的路径时,呈现相应的页面

嵌套路由

<Switch>
      <Route exact path='/roster' component={FullRoster}/>
      <Route path='/roster/:number' component={Player}/>
</Switch>

路径参数

const Player = (props) => {

  const number = props.match.params.number;
  return (
    <div>
      <h1>参数:{number}</h1>
    </div>
)

<Link>

提供路由跳转和导航,显示在html中就是a标签

<NavLink>

特殊版本的<Link>,当需要设置导航点击,匹配当前路由样式时,使用该组件

<Switch>

History

Location

JS控制路由跳转及传参

this.props.history.push({
            pathname: '/order-detail',//路由
            state: {
                orderNo: params //传参
            },
        });

//接受参数
let orderNo = this.props.location.state.orderNo
上一篇下一篇

猜你喜欢

热点阅读