react-router v4传递参数

本文详细介绍了在React Router v4中通过params、query和state三种方式传递参数的方法,包括配置路由表、在Link中设置参数以及在目标组件中接收参数的方式。强调了params直接传递,query和state参数在跳转时加密的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注意:  路由表改变后要重启服务  

   方式 一

         通过params

        1.路由表中      

              <Route path=' /user/:id '   component={User}></Route>

           

        2.Link处        

            HTML方式

                 <Link to={ pathname:' /user/2 ',query:{name:jack},state:{value:123},search:'?sort=name',hash:'#the-hash',abc:'def'}  activeClassName='active'>XXXX</Link>              

           

          JS方式

                this.props.history.push( { pathname:' /user/2 ',query:{name:jack},state:{value:123},search:'?sort=name',hash:'#the-hash',abc:'def'})

           

        3.user页面       

               通过  this.props.match.params.id        就可以接受到传递过来的参数(id)

           

   方式 二

         通过query

                前提:必须由其他页面跳过来,参数才会被传递过来,query传的参数是加密的

        注:不需要配置路由表。路由表中的内容照常:<Route path='/user' component={User}></Route>

        1.Link处      

         HTML方式

            <Link to={{ pathname:' /user',query:{name:jack},state:{value:123},search:'?sort=name',hash:'#the-hash',abc:'def'}}>

          

       JS方式

            this.props.history.push({ pathname:' /user',query:{name:jack},state:{value:123},search:'?sort=name',hash:'#the-hash',abc:'def'})

 

        2.user页面     

              this.props.location.query.name //jack

              this.props.location.state.value  //123

              this.props.location.search  //?sort=name

              this.props.location.hash  //#the-hash

              this.props.location.abc  //def  (自定义参数)

                                

     方式 三

        通过state

            同query差不多,只是属性不一样,state传的参数是加密的

        1.Link 处      

          HTML方式

                <Link to={{ pathname:' /user',query:{name:jack},state:{value:123},search:'?sort=name',hash:'#the-hash',abc:'def'}}> 

                                  

         JS方式

            this.props.history.push({ pathname:' /user',query:{name:jack},state:{value:123},search:'?sort=name',hash:'#the-hash',abc:'def'})

                                  

        2.user页面       

            this.props.location.state.value

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值