您的位置:首页 > Web前端 > React

react-router 学习笔记之Link带参数传值

2017-11-21 17:28 549 查看
1、通过to='xx/xx'直接条状<Link to={`/my/${myId}/info}>点击</Link>

2、to=对象,带参数跳转(pathname,
query, hash, state(额外数据)),注意:这些参数都被存放到this.props.location中

 <li><Link to={{pathname:"/select",
hash:'#ahash', query:{foo: 'bar', boo:'boz'}, state:{data:'miao'}  }} activeClassName="GlobalNav-active">精选</Link></li>

3、to=函数,注册到路由跳转事件中,每一次路由变化,都会执行该函数,并经最新的location作为参数,

<Link
to={location => ({ ...location, query: { name: 'ryan' } })}>

  Hello

</Link>

4、不使用Link,在函数内直接操作router

旧版本:由于router只用的context传递路由信息,因此每一个组件都可以轻易的通过this.context.router获取路由

      新版本:router被放置在this.props中,通过this.props.router可以获取路由

      注意:push与replace的区别,一个是添加,一个是替换,历史记录中被替换的已经不存在了,所以浏览器回退不到替换前的页面。

changeRouter = () => {

        console.log(this.props)

        // this.props.router.push('/follow');

        // this.props.router.push({

        //     pathname:'/follow',

        //     state:{name:'xxx'},

        //     query: {foo: 'bar'}

        // })

        

        // this.props.router.replace('/follow');

        this.props.router.replace({

            pathname: '/follow',

            query: {foo:'bar'}

        })

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: