我有一个功能性的 React 组件,想在我的组件中为选定的人呈现一些属性。
所以我首先映射一个简单的列表,其中包含每个人的链接
{props.persons.map((person, i) =>{
return(
<li key={i}>
<Link to={`/topics/${person.id}`}>{person.name}</Link>
</li>
)
})}
</ul>
然后我做路线
<Route path={`/topics/:id`} render={() => <Topic persons={props.persons} />} />
截至目前,我只是通过人。
但是我也希望能够传入 id,这样我就可以找到特定的人,并呈现有关该人的信息。我曾尝试使用匹配属性,但这似乎也禁止我传入 props。
任何解决方法的提示?
也许可以只传递所选人员的属性?
编辑:
这是我迄今为止尝试过的。
const Topic = (props) =>{
console.log('props are ', props) //logs array of persons
return(
<div>
<h2>Topic</h2>
<p>I have been rendered</p>
</div>
)
}
const Topic = ({match}) =>{
console.log('match is ', match) //logs match parameter, but now i can't access persons
return(
<div>
<h2>Topic</h2>
<p>I have been rendered</p>
</div>
)
}