Skip to content
☆´∀`☆
On this page

如何高质量的拆分组件和 hooks?

一个组件的构成

  • 视图 jsx、template
  • 组件逻辑 生命周期、事件
  • 业务逻辑 获取数据,发送数据

组件拆分原则

  • 保持功能单一。即设计原则中的单一职责原则
  • 保持较低耦合度。不要与组件外部有过多的交互

拆出来的组件文件放哪?

  • 只在某页面使用的组件,放在当前页面文件夹下
  • 不同场景都会使用的,放在顶层公共文件夹下
  • 只在此组件用的 hooks 放在当前组件层次的 hooks 文件夹下
  • 通用的 hooks 放在顶层 hooks 下

逻辑抽离

  • 业务逻辑 : useUserLogin
  • 组件逻辑:useUserLoginControl 在 useUserLoginControl 中引入使用 useUserLogin。最后在视图页中引入 useUserLoginControl 。