React组件类型拾遗

前言

自从2013年 React 开源以来,关于 React 组件的讨论层出不穷。一些组件类型在发展中逐渐淘汰,而另一些组件类型和组件设计模式逐渐沉淀下来,并演变为约定成俗的为 React 应用程序标准。本文将对React中组件类型进行一个梳理总结。旨在让 React 开发者清晰地了解 React 组件类型。读完本文后,你应当能够从 React 程序与 React 技术文章中分辨出不同类型的 React 组件,并能在设计 React 应用时选择合适类型的组件。

我们将在下文由浅入深的介绍以下 React 组件类型:

  1. 受控组件与非受控组件
  2. 托管组价与非托管组件
  3. 状态组件与无状态组件
  4. 容器组件与展示组件
  5. 高阶组件与渲染属性

看到一堆组件名称,刚上手 React 的同学可能瞬间就头大了。其实,观察这些组件名称会发现它们是一对对的,理解一个组件即理解了另一个组件。另一方面,有一部分的组件并不常用,了解一下只是为了查漏补缺。下面来分别讲一下这几种组件类型:

一、受控组件与非受控组件

首先,厘清一个概念。React中受控组件与非受控组件是针对表单元素而言。

1. 受控组件

在HTML中,像