是否可以依靠'key'属性(在reactjs中)来强制重新安装任何组件?

时间:2017-05-04 18:33:49

标签: reactjs

渲染列表时,应该为列表的每个元素添加key道具。这在文档中描述为“提示”,其中子元素可以在不同的渲染中保持稳定。更改key的值将导致卸载并重新安装该元素。

此行为目前也适用于任何组件,甚至是不代表列表元素的组件,并且某些React开发人员建议将其作为强制任何组件在必要时重新装入的方法。这种行为是否超出了文档中描述的行为,可以依赖API的稳定特性,还是应该将其视为可随时更改的实现细节?

1 个答案:

答案 0 :(得分:0)

关键属性旨在区分类似的元素。设置一个新密钥确实会强制重新渲染,但我不确定你为什么要采用这种蛮力方法。在不了解您遇到的具体情况的情况下,很难对其是一个好的或坏的想法提供意见,但总的来说,这是一个“hacky”实现,它将取消反应所提供的许多好处。关于它使用虚拟dom的场景。

一般情况下,如果你已经在你的代码中找到了一个点,当你没有按照自己的意愿强制做出反应来重新渲染时,这可能意味着你的问题存在一个更根本的问题。码。对于这个更深层次的问题,这将是一个乐队援助解决方案,即使它是一个相当稳定和可靠的乐队援助。