Hooks 的核心不是少写 class,而是让状态逻辑可以被清晰复用。写好 Hooks,需要先写好数据流边界。
避免过度抽象
自定义 Hook 应该服务于真实重复的逻辑,而不是为了看起来高级。一个好的 Hook 名字能直接说明它管理了什么状态。
- 副作用放进
useEffect,计算值优先保持纯粹。 - 依赖数组要诚实,不要为了消除提示而隐藏依赖。
- 性能优化应基于真实瓶颈,而不是条件反射。
可维护性优先
当组件变复杂时,先拆分展示结构和业务状态,再考虑 memo、callback 或更重的状态管理方案。
