reactjs - BlueprintJS 树添加 key 属性

标签 reactjs web-component blueprintjs

我正在为我的 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 是否确实需要,但对于初学者来说,您可以尝试将 深度:0id:1e 添加到您的对象吗?您可能可以删除key,因为它是可选的。

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

关于reactjs - BlueprintJS 树添加 key 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44378908/

相关文章:

javascript - 如何测试选择的下拉选项的点击?

javascript - 为什么不组合复选框输入更改事件?

javascript - 带有内部 js 和 css 的 Webcomponent 不显示内容

css - webpack 2.7 不会加载 blueprintjs 核心 css

javascript - 我们可以在blueprintjs中添加双击表行吗

javascript - 动画化 <Circle/> 的 react-native-svg 短划线长度

javascript - 为什么我可以使用 this.state 而无需绑定(bind)或使用箭头函数 React

javascript - React Native Scroll View 不滚动也不跳到底部

javascript - 我的 &lt;script&gt; 应该在我的 <dom-module> 内吗?