这方面的一个例子是带有Link视图的表。以这种方式导航到具有表的组件
<tbody>
<tr>
<td>
<Link to={`/loan-requests/${loanRequest.id}/details`}>
<Button size="sm" variant="outline-primary">
View
</Button>
</Link>
</td>
</tr>
</tbody>
和useParams
和useEffect
将用于获取数据并显示
或者这样做:
<tbody>
<tr>
<td>
<Link to={{path: `/loan-requests/${loanRequest.id}/details`, state={loanRequest}}}>
<Button size="sm" variant="outline-primary">
View
</Button>
</Link>
</td>
</tr>
</tbody>
,状态在子组件中使用。
那么哪个更好呢?
我认为这两种方式是等价的。对于第二种方式,' state '是通过url对象将数据从该组件传递到另一个页面的一种方式。参见:https://reactrouter.com/web/api/Link