react-best-practices 是一份整理 React 组件写法的 Skill。它先区分用户操作、可计算的显示值与外部系统同步,避免所有逻辑都塞进 Effect。
点击后提交数据放事件处理中;由现有状态算出的值可在渲染时计算;连接浏览器监听、地图或 WebSocket 才考虑 Effect,并清理对应资源。昂贵计算是否缓存也要按实际成本判断,不是看见计算就加 useMemo。
主文还提醒自定义 Hook 共享逻辑,每次调用仍有自己的状态,不能因用了同名 Hook 就认为两处共用数据。复杂组件与 TypeScript 另有配套资料,这里只介绍主文中的职责选择。
提供已有组件与具体问题,再核对事件、订阅和卸载行为。Effect 少了不代表代码一定更好;需要同步的部分删错,反而会留下旧数据或资源泄漏。