个人技术分享

react组件面试题

1.展示组件(Presentational component)和容器组件(Container component)之间有何不同

展示组件:
  • 关心组件的外观和展示。
  • 通过 props 接收数据和回调函数。
  • 很少有自身的状态,如果有,也只关心 UI 状态而非数据状态。
  • 例如一个纯显示用户信息的组件。
容器组件:
  • 关心组件如何运作。
  • 为展示组件或其他容器组件提供数据和行为。
  • 调用 Flux actions 并将其作为回调传递给展示组件。
  • 通常是有状态的,因为它们是数据源。
  • 例如一个从 API 获取用户数据并传递给展示组件的组件。

2.类组件(Class component)和函数式组件(Functional component)之间有何不同

类组件:
  • 允许使用组件自身的状态和生命周期钩子。
  • 使组件能够直接访问 store 并维持状态。
  • 更适合复杂逻辑和状态管理。
  • 使用 class 关键字定义,例如:
  class MyComponent