reactjs - 如何在链接 React 中发送 id 类别?
问题描述
我有一个页面,我用这个代码显示所有类别
{categories.map((category, index) => {
return(
<tr key={index}>
<th scope="row">{index}</th>
<td>{category.name}</td>
<td>50</td>
<td><Link to={{pathname: `/categories/edit/`}}>Edit</Link></td>
<td><Button variant={'danger'} onClick={deleteCategoryHandler} data-id={category._id}>Delete</Button></td>
</tr>
)
})}
但是当我创建组件编辑类别时,我需要使用 id 发送。哪个ID和名字更好?
解决方案
如果您需要发送 category id
,那么一种非常简单的方法是将其作为路径 URL 的一部分发送。
Router
在您的那句柄中创建一条路线path="/categories/edit/:id"
。然后在映射时为链接构造适当的路径。
{categories.map((category, index) => {
return(
<tr key={index}>
<th scope="row">{index}</th>
<td>{category.name}</td>
<td>50</td>
<td>
<Link to={{pathname: `/categories/edit/${category.id}`}}>
Edit
</Link>
</td>
<td>
<Button
variant={'danger'}
onClick={deleteCategoryHandler}
data-id={category._id}
>
Delete
</Button>
</td>
</tr>
)
})}
在接收路由的组件上,id
可以使用来自的useParams反应钩子通过匹配对象访问参数。react-router-dom
const { id } = useParams();
推荐阅读
- reactjs - 在 React (Gatsby) 中使用 CSS 模块的全局 SCSS
- heap-memory - 如何在 linux 中查看核心转储文件中的堆数据
- go - 如何测试服务器的Oauth2.0资源
- c# - Unity 2D 发送 X 数量的“部队”,这些数量等于我通过光线投射或其他方式向特定目标投入的数量
- keras - 如何使用 Pytorch 的 keras 重写损失函数?
- amazon-web-services - 具有 kubernetes 问题的 AWS EBS 卷
- ruby-on-rails - 根据多个条件将多个项目推送到数组的干净方法
- python - 为什么我无法从 Google Colaboratory 导入电子表格?
- javascript - Javascript 获取数据并在变量上解析它们
- npoi - NPOI - 在单元格上应用/验证条件格式