react-router

2018-09-18  本文已影响0人  风之伤_3eed

引入react-router-dom;

import { BrowserRouter as Router, Switch, Route, Link, Redirect } from 'react-router-dom';
class App extends Component {
  render() {
    return (
      <Router>
        <Layout>
          <Switch> 
            <Route exact path="/" component={Home}/>
            <Redirect from="*" to="/"/>
          </Switch>
        </Layout>
      </Router>
    );
  }
}

<BrowserRouter> 使用 HTML5 提供的 history API (pushState, replaceState 和 popstate 事件) 来保持 UI 和 URL 的同步。
<HashRouter> 使用 URL 的 hash 部分(即 window.location.hash)来保持 UI 和 URL 的同步。
path为路由路径
component为渲染的组件
Redirect如果匹配不到上面的路径就全部跳转到“/”
如果不用Switch包裹就会一个一个匹配使用Switch只会匹配到第一个

<BrowserRouter basename="/calendar">
  <Link to="/today" />
</BrowserRouter>

<Link to="/today" />会被解析为<a href="/calendar/today" />

<HashRouter basename="/calendar">
  <Link to="/today" />
</HashRouter>

<Link to="/today" />会被解析为<a href="#/calendar/today" />

上一篇下一篇

猜你喜欢

热点阅读