[英]Each child in a list should have a unique “key” prop while using uuid
I have a recursive component which is maping over rows and columns so the indexes might be repeated if I used the index of each map function.我有一个递归组件,它映射行和列,因此如果我使用每个映射函数的索引,索引可能会重复。 Instead I used the package uuid and used v4() as a key everywhere but still getting error:相反,我使用了包uuid并在任何地方使用v4()作为键,但仍然出现错误:
import { v4 } from "uuid";
//....allcode before return
return (
<>
<Table.Header key={v4()} fullWidth>
<Table.Row
columns={size(Object.keys(data?.records[0]?.data)) + 2}
key={v4()}
>
<Table.HeaderCell key={v4()}></Table.HeaderCell>
{Object.keys(data?.records[0]?.data).map((key, ind) => {
return <Table.HeaderCell key={v4()}>{key}</Table.HeaderCell>;
})}
<Table.HeaderCell key={v4()}></Table.HeaderCell>
</Table.Row>
</Table.Header>
{data?.records.map((firstLevel, ind1) => {
return (
<>
<Table.Body key={v4()}>
{/* here we render each row of data */}
<Table.Row key={v4()}>
{size(firstLevel.kids) > 0 ? (
<Table.Cell key={v4()}>
<Icon
name="caret right"
link
size="large"
rotated={
show[ind1 + depth * 1000] ? "clockwise" : undefined
}
onClick={() => toggleShow(ind1, depth)}
/>
</Table.Cell>
) : (
<Table.Cell key={v4()}></Table.Cell>
)}
{Object.keys(firstLevel.data).map((key) => {
return (
<Table.Cell key={v4()}>{firstLevel.data[key]}</Table.Cell>
);
})}
<Table.Cell key={v4()}>
<Icon
name="close"
link
size="large"
onClick={() => removeData(ind1, depth, indArrayState)}
/>
</Table.Cell>
</Table.Row>
</Table.Body>
{show[ind1 + depth * 1000] && size(firstLevel.kids) > 0 ? (
<>
{indArray.splice(depth, 1, ind1)}
<Table.Header key={v4()} fullWidth>
<Table.Row key={v4()}>
<Table.HeaderCell key={v4()}>
{Object.keys(firstLevel.kids)}
</Table.HeaderCell>
</Table.Row>
</Table.Header>
<RecursiveTable
data={firstLevel.kids[Object.keys(firstLevel.kids)[0]]}
allData={allData}
depth={depth + 1}
setAllData={setAllData}
indArray={indArray}
/>
</>
) : null}
</>
);
})}
</>
);
}
Any Idea?任何想法?
Thank you.谢谢你。
Stackoverflow:It looks like your post is mostly code; Stackoverflow:看起来你的帖子主要是代码; please add some more details.It looks like your post is mostly code;请添加更多详细信息。看起来您的帖子主要是代码; please add some more details.请添加更多详细信息。
It looks like you are missing a key on a React Fragment.看起来您在 React Fragment 上缺少一个键。 You could replace <>
with <React.Fragment>
and do something like the following:您可以将<>
替换为<React.Fragment>
并执行以下操作:
data?.records.map((firstLevel, ind1) => {
return (
<React.Fragment key={x}>
...
</React.Fragment>>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.