用途:这是一份 Dan Abramov 风格的 JavaScript/React 编码指南技能,用于指导按他的理念组织组件与状态管理代码。核心原则包括可预测性(状态变化可预测、可追踪)、组合(由简单构建复杂,而非继承)、显式优于魔法、以及重视开发者体验。
主要能力:提供写法上的“应当”与“不要”清单。应当:保持状态尽量扁平、让状态变化可追踪、用组合构建复杂组件、把状态与需要它的组件就近放置、编写易测试组件、考虑错误边界。不要:直接修改状态、把所有东西放进全局状态、用继承做组件复用、创建深层嵌套状态、忽略列表渲染性能、静默吞掉错误。偏好:优先局部状态、Hooks 优于类组件、函数组合优于继承、显式数据流、用纯函数更新状态、用自定义 Hook 复用逻辑。
必要用法(代码模式要点,不逐字照抄长示例):1) 组件组合,用 children 代替 prop drilling,并可用复合组件(如 Tabs.List、Tabs.Tab、Tabs.Panels)配合 Context。2) 用自定义 Hook 复用逻辑,例如 useLocalStorage 与 useAsync。3) 状态管理:就近放置状态;复杂状态用 useReducer,action 显式可追踪;用单一 status 值取代多个可能冲突的布尔值。4) 性能:对昂贵计算用 useMemo、对传给子组件的回调用 useCallback、对接收稳定 props 的组件用 React.memo,并强调先做性能分析,避免过早优化。5) 用 ErrorBoundary 捕获错误并记录。
适用场景:编写 React 组件、设计组件的状态结构、重构状态管理或审查代码时参考。
限制:该技能描述的是编码风格与原则,未提供安装命令、支持的运行环境、版本要求、收费或价格信息,这些暂未提供。