Reactjs react如何唯一地标识组件?
我了解到react使用键识别元素(组件) <下列哪一个反应考虑识别一个元素? 还有别的吗Reactjs react如何唯一地标识组件?,reactjs,Reactjs,我了解到react使用键识别元素(组件)
- 钥匙
- 元素类型
- 元素在整个树中的位置
- 你所说的一切都是正确的。您可以通过检查react应用程序的元素并查看组件来验证它。例如,您将看到带有data reactroot、data reactid的div
你可能还想检查一下你所说的一切都是正确的。您可以通过检查react应用程序的元素并查看组件来验证它。例如,您将看到带有data reactroot、data reactid的div
您可能还想检查一下React使用键标识实例(组件)是否正确。虽然这与性能无关,但键用于确定哪些实例可以重用(因此也会带来更好的性能)。如果密钥一直在更改,React将不必要地重新创建节点,子组件将失去其状态 React应用程序的每个级别都有一个键。使用JSX时,可以使用以下命令显式指定密钥:
。如果未提供键属性,React将使用组件的索引(在当前级别)向组件隐式添加键属性
那你为什么不让React帮你做这件事呢?对于在
this.state
中维护数据的组件,如果删除或重新排序同级(在同一级别)可能会出现问题。您可以在React文档中找到。React使用键来标识实例(组件),这是正确的。虽然这与性能无关,但键用于确定哪些实例可以重用(因此也会带来更好的性能)。如果密钥一直在更改,React将不必要地重新创建节点,子组件将失去其状态
React应用程序的每个级别都有一个键。使用JSX时,可以使用以下命令显式指定密钥:
。如果未提供键属性,React将使用组件的索引(在当前级别)向组件隐式添加键属性
那你为什么不让React帮你做这件事呢?对于在
this.state
中维护数据的组件,如果删除或重新排序同级(在同一级别)可能会出现问题。您可以在React文档中查看。自React v15起,数据reactid
属性实际上消失了。自React v15起,数据reactid
属性实际上消失了。