如何在JavaScript数组中访问其他对象的值?React Table点击传行ID需求
解决React Table中点击Name列传递当前行id的问题
嘿,我懂你想要实现的效果——点击Name字段的链接时,路由里要带当前行的id值,而不是现在用的name值对吧?其实很简单,React Table的Cell渲染函数里,除了能拿到cell对象,还可以获取到当前行的row对象,通过它就能访问到整行的数据啦。
你只需要修改Cell的参数,把row解构出来,然后在Link的to属性里用row.values.id就行,同时显示的内容还是name的值,完美兼顾跳转需求和显示效果:
const columns = React.useMemo(() => [ { Header: "Sl.No", accessor: "id", }, { Header: "Name", accessor: "name", // 解构出row对象,用来获取当前行的id Cell: ({ cell: { value }, row }) => ( <Link to={`/category/${row.values.id}`}>{value}</Link> ) }, ], []); // 给useMemo加上依赖数组,避免不必要的重渲染
解释一下:row.values里包含了当前行的所有字段值,所以不管你需要哪一列的数据,都可以通过row.values.xxx来访问。这样修改后,点击Name列的链接就会跳转到带对应行id的路由了~
内容的提问来源于stack exchange,提问作者Lalliantluanga Hauhnar
相关产品推荐
相关产品推荐

