首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用React协调树视图

使用React协调树视图
EN

Stack Overflow用户
提问于 2017-02-15 05:34:09
回答 1查看 143关注 0票数 2

我在React中实现了一个树形视图。树视图具有拖放功能,其中节点可以在父级之间来回移动。

考虑到这一点,当React协调我的组件树时:

代码语言:javascript
运行
复制
<TreeNode key="item1">
    <TreeNode key="item2"/>
    <TreeNode key="item3"/>
    <TreeNode key="item4"/>
</TreeNode>

类似这样的东西:

代码语言:javascript
运行
复制
<TreeNode key="item1">
    <TreeNode key="item2"/>
    <TreeNode key="item3"/>
</TreeNode>
<TreeNode key="item4"/>

它会保留item4 (即不卸载并重新挂载它)吗?有没有什么方法可以强制它在将组件移动到新的父级时保持该组件的完整性,或者React在协调兄弟项时只考虑keys?

EN

回答 1

Stack Overflow用户

发布于 2017-02-15 06:02:56

首先,只是澄清一下- React元素不应该被“保留”-它是底层的DOM元素将被“保留”。

React将在有可能的情况下尝试重用DOM。

key属性决定了如何处理DOM元素。只要键存在于随后的渲染过程中,就会重用DOM并更新内容。

引用https://facebook.github.io/react/docs/reconciliation.html#recursing-on-children

当子对象具有关键字时,React使用该关键字将原始树中的子项与后续树中的子项进行匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42236664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档