在 React中元素( element)和组件( component)有什么区别?
参考答案:
在 React 中,元素(Element)和组件(Component)是两个非常重要的概念,它们之间有一些明显的区别:
-
元素(Element):
- React 元素是描述屏幕上应该显示什么的对象。它们是不可变的,一旦被创建就不能更改。
- React 元素是纯对象,它们是便宜的,并且 React DOM 使用它们来更新 DOM。
- 可以把元素看作是 DOM 节点或者其他组件的描述。例如,
<div />
和<MyComponent />
都是 React 元素。
-
组件(Component):
- React 组件是可以接收输入并返回 React 元素的函数或类。
- 组件可以有状态(通过
this.state
或者useState
hook),也可以没有状态。 - 组件可以复用和组合,可以在一个组件中包含其他组件。
- 组件名必须以大写字母开头。
简而言之,元素是描述屏幕上应该显示什么的不可变对象,而组件是接收输入并返回元素的函数或类。元素是组件或 DOM 节点的描述,而组件则定义了如何渲染这些元素。