Reactjs react如何唯一地标识组件?

Reactjs react如何唯一地标识组件?,reactjs,Reactjs,我了解到react使用键识别元素(组件)

我了解到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
      属性实际上消失了。