我有这条调用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]}/>
);
}
慕田峪4524236
TA贡献1875条经验 获得超5个赞
可以通过这种方式改进以前的答案:
const PriceWithID = ({match}) =>
{
return(
<Price image={IMGS.filter((i)=>(i.id === parseInt(match.params.pId,10)))[0]}/>
);
}
但由于之前的解决方案是正确的,我将其标记为答案。
添加回答
举报
0/150
提交
取消