一个常见的模式是从数组生成反应元素。如果要遍历React组件,是否有任何情况应该/可以忽略关键道具警告?
就像元素渲染静态文本一样,我们可以忽略吗? 注意:渲染后,我的元素将不会更改,请添加或删除。
const days = ['Sunday' 'Mon.........,,, 'Saturday'];
days.map(day => <div>{day}</div>);
答案 0 :(得分:0)
您不应忽略此警告。
已阅读文档:https://reactjs.org/docs/lists-and-keys.html#keys
键可帮助React识别哪些项目已更改,添加或删除。应该为数组内的元素赋予键,以赋予元素稳定的身份
如果您确实没有要使用的键之类的值,则可以使用数组的索引(假设其索引来自静态排序的源),以便react可以使用这些键来标识已更改的内容。
const myArray = ["Some", "Static", "Stuff"]
const MyComponent = () => (
<div>
{myArray.map((item, i) => <div key={i}>{item}</div>)}
</div>
)