我正在为我的 ReactJS Web 应用程序使用 BlueprintJS UI 组件。 我想在使用 Tree 组件渲染文件资源管理器时消除警告:
数组或迭代器中的每个子元素都应该有一个唯一的“key”属性。检查“Tree”的渲染方法
在 documentation of the Tree component我可以找到一个 key
属性,这可能是我正在寻找的东西,但我无法消除警告。
节点:[
{
hasCaret:正确,
iconName: "文件夹关闭",
标签:“文件夹0”,
键:'1e'
}
]
Eveb 这个简单的树结构向我发出了警告。有什么建议吗?
最佳答案
我假设 node
被传递到 Tree
所需的 contents
属性中。如果你看ITreeNodeInterface ,您将看到您的对象缺少许多必填字段。您必须具备以下条件:
深度
id
标签
路径
(不过这是否真的需要值得怀疑:请参阅此 ticket )
您似乎缺少深度
、id
和路径
。我不确定 path
是否确实需要,但对于初学者来说,您可以尝试将 深度:0
和 id:1e
添加到您的对象吗?您可能可以删除key
,因为它是可选的。
顺便说一句,这个警告并不是那么无害。它通常会导致神秘的 React 行为,因为它无法确定哪些组件实际上需要更新。
关于reactjs - BlueprintJS 树添加 key 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44378908/