为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 React 路由器中捕获 URL 的动态部分

如何在 React 路由器中捕获 URL 的动态部分

哈士奇WWW 2023-05-18 10:10:43
我有这条调用PriceWithId函数的路由<Route path='/collections/:pId' component={PriceWithID} />功能是这样的const PriceWithID = ({match}) =>    {        let test = Object.entries(match);        let test2 = test.filter(([prop])=>(prop === 'params'));        let test3 = test2[0][1];        let test4 = Object.values(test3)[0]        return(          <Price image={IMGS.filter((i)=>(i.id === parseInt(test4,10)))[0]}/>        );    }我知道有一个更好的 oneline 方式来实现test4。我使用的方法伴随着反复试验。谁能告诉我更好的方法,以便我可以用它替换 parseInt 中的 test4
查看完整描述

2 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

使用this.props.match.params.pId


或功能组件


const PriceWithID = (props) =>

    {

        let pId = props.match.params.pId

        return(

          <Price image={IMGS.filter((i)=>(i.id === parseInt(pId))[0]}/>

        );

    }


查看完整回答
反对 回复 2023-05-18
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

可以通过这种方式改进以前的答案:


const PriceWithID = ({match}) =>

    {

        return(

          <Price image={IMGS.filter((i)=>(i.id === parseInt(match.params.pId,10)))[0]}/>

        );

    }

但由于之前的解决方案是正确的,我将其标记为答案。



查看完整回答
反对 回复 2023-05-18
  • 2 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信