2

我正在为我的 ReactJS webapp 使用 BlueprintJS UI 组件。我想在使用 Tree 组件呈现文件资源管理器时摆脱警告:

Each child in an array or iterator should have a unique "key" prop. Check the render method of "Tree"

Tree 组件的文档中,我可以找到一个key可能是我正在寻找的属性,但我无法消除警告。

node: [ { hasCaret: true, iconName: "folder-close", label: "Folder 0", key: '1e' } ]

Eveb 这个简单的树结构给了我警告。有什么建议么?

4

1 回答 1

2

我假设node正在被传递到Tree所需的contents道具中。如果您查看ITreeNodeInterface,您会发现您的对象缺少许多必填字段。您必须具备以下条件:

  • depth
  • id
  • label
  • path(但如果确实需要这样做值得怀疑:请参阅此

您似乎缺少depthidpath。我不确定是否path真的需要,但对于初学者来说,您可以尝试将depth: 0和添加id: 1e到您的对象吗?您可能可以摆脱它,key因为这是可选的。

顺便说一句,这个警告并不是那么无害。它通常会导致神秘的 React 行为,因为它无法确定哪些组件实际上需要更新。

于 2017-08-11T17:10:48.497 回答