前端/移动开发面试题更新 2026-08-05

在 React 中,类组件和函数组件分别是什么?两者在定义方式、特性支持和使用选择上有哪些差异?

前端/移动开发技术原理技术选型React

考察说明

考查对 React 两种组件形态的理解,包括定义、特性和选型依据。

回答思路

  1. 【回答框架 1】类组件是基于 ES6 class 定义的组件,内部可拥有 state、生命周期方法,通过 this 访问 props 和状态。函数式组件是接收 props 并返回 React 元素的纯函数,本身无实例,通过 hooks 扩展能力,如 useState 管理状态,useEffect 处理副作用。
  2. 【回答框架 2】核心差异在于状态管理和生命周期:类组件有内置的 state 和生命周期方法(如 componentDidMount),而函数组件本身无状态,但通过 hooks 模拟生命周期并管理状态,代码更简洁。
  3. 【回答框架 3】类组件使用 this 指向实例,需注意绑定事件或使用箭头函数;函数组件没有 this 绑定问题,更易复用逻辑。在渲染性能上,函数组件通常更轻量,但两者最终都编译为真实 DOM 渲染,性能差异不大,选择更多取决于代码风格和项目需求。
  4. 【回答框架 4】当前 React 官方推荐使用函数组件和 hooks,因为更少样板代码、更易测试和逻辑复用;类组件仍被支持,但新项目倾向于函数化。
  5. 【关键点 1】函数组件是无状态纯函数,类组件有状态和生命周期。
  6. 【关键点 2】hooks 使函数组件具备类组件的能力,如 useState、useEffect。
  7. 【关键点 3】官方推荐函数组件,但类组件仍可用。
  8. 【易错点 1】不可断言函数组件一定比类组件快,性能需具体分析。
  9. 【易错点 2】类组件中 this 绑定易出错,需注意箭头函数或 bind。
  10. 【易错点 3】不能将 hooks 用于类组件中。