react组件面试题
1.展示组件(Presentational component)和容器组件(Container component)之间有何不同
展示组件:
- 关心组件的外观和展示。
- 通过 props 接收数据和回调函数。
- 很少有自身的状态,如果有,也只关心 UI 状态而非数据状态。
- 例如一个纯显示用户信息的组件。
容器组件:
- 关心组件如何运作。
- 为展示组件或其他容器组件提供数据和行为。
- 调用 Flux actions 并将其作为回调传递给展示组件。
- 通常是有状态的,因为它们是数据源。
- 例如一个从 API 获取用户数据并传递给展示组件的组件。
2.类组件(Class component)和函数式组件(Functional component)之间有何不同
类组件:
- 允许使用组件自身的状态和生命周期钩子。
- 使组件能够直接访问 store 并维持状态。
- 更适合复杂逻辑和状态管理。
- 使用 class 关键字定义,例如:
class MyComponent