美文网首页
react-router-dom

react-router-dom

作者: Clover园 | 来源:发表于2019-05-13 11:10 被阅读0次

https://www.jianshu.com/p/8954e9fb0c7e

npm install react-router-dom --save-dev //这里可以使用cnpm代替npm命令

一个基本的location对象

{pathname:'/',search:'',hash:'',key:'123',state:{}}

history={hashHistory}

  <BrowserRouter history={hashHistory}>
      <Switch>
            <Route exact path="/" component={Home}/>
            <Route exact path="/detail" component={Detail}/>
        </Switch>
    </BrowserRouter>

//通过this.props.history.push('路由url')这个函数跳转,不传参数的话直接写路由路径如 '/detail';
//http://localhost:3000/#/admin/buttons       //HashRouter是根路由, 4.0已经没有了
//http://localhost:3000/admin/buttons       //BrowserRouter,主要用于前后端分离的时候使用
//exact={true}精确匹配

url传参

//1.通过push函数隐式传参。获取传过来参数:this.props.history.location.state
<button onClick={() => this.props.history.push({
        pathname: '/detail',
        state: {
           id: 3
        }
})}>通过函数跳转</button>

//2.link传参
<Link to={{pathname:'/three/7'}}>Three #7</Link>

//定义
<Route path="/three/:number" />

//获取参数
this.props.match.params.number

其他

//react-router-dom提供了replace。在可能会出现死循环的地方使用replace来跳转:
this.props.history.replace('/detail');

//场景中需要返回上级页面的时候使用:
this.props.history.goBack();

相关文章

网友评论

      本文标题:react-router-dom

      本文链接:https://www.haomeiwen.com/subject/mqxlaqtx.html