跳到主要内容

在 React中元素( element)和组件( component)有什么区别?

参考答案:

在 React 中,元素(Element)和组件(Component)是两个非常重要的概念,它们之间有一些明显的区别:

  1. 元素(Element):

    • React 元素是描述屏幕上应该显示什么的对象。它们是不可变的,一旦被创建就不能更改。
    • React 元素是纯对象,它们是便宜的,并且 React DOM 使用它们来更新 DOM。
    • 可以把元素看作是 DOM 节点或者其他组件的描述。例如,<div /><MyComponent /> 都是 React 元素。
  2. 组件(Component):

    • React 组件是可以接收输入并返回 React 元素的函数或类。
    • 组件可以有状态(通过 this.state 或者 useState hook),也可以没有状态。
    • 组件可以复用和组合,可以在一个组件中包含其他组件。
    • 组件名必须以大写字母开头。

简而言之,元素是描述屏幕上应该显示什么的不可变对象,而组件是接收输入并返回元素的函数或类。元素是组件或 DOM 节点的描述,而组件则定义了如何渲染这些元素。