react中如何向没有Link的路由标签传递参数

一、问题介绍

1.1、总所周知啊,react是可以向路由传递参数的,比如:

 		{/* 向路由组件传递 Params参数 */}
         <Link to={`/home/message/detail/${msgObj.id}/${msgObj.title}`}>{msgObj.title}</Link> 

        {/* 向路由组件传递 search参数 */}
         <Link to={`/home/message/detail/?id=${msgObj.id}&title=${msgObj.title}`}>{msgObj.title}</Link> 

        {/* 向路由组件传递 state参数 地址栏不会显示传递的消息 */}
        <Link to={{pathname:'/home/message/detail',state:{id:msgObj.id,title:msgObj.title}}}>{msgObj.title}</Link>

但是啊,都是通过路由对应的Link来传递参数。可是我要是没有Link标签呢?比如:

<Routes>
          <Route path='/changeMyAddress' Component={ChangeMyAddress} />      
          <Route path='/changeAvatar' Component={ChangeAvatar} />
          <Route path='/changeNickname' Component={ChangeNickname} />
          
          <Route path='/'  Component={InfoBars}/>
  </Routes>

我想让页面打开时默认展示 InfoBars 组件,而且我还需要给他传递参数怎么办呢?

二、问题解决

1、我想到的方法是创建一个中间件,如:
在这里插入图片描述
我们创建一个中间件 ChangeMiddleware组件,在它里面定义数据,传递给 InfoBars组件
我们把 ChangeMiddleware 作为路由组件就好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值