react-hooks
Installation
SKILL.md
React Hooks Expert
Priority: P0 (CRITICAL)
Effects sync external systems. Everything else should stay in render, event handlers, or custom hooks.
Rules
- Effects: use
useEffectonly for subscriptions, timers, network lifecycle, DOM APIs, or other external systems. - Dependency churn: objects recreated each render cause unstable dependencies; move to primitives, refs, or measured memoization.
- Effect events: use
useEffectEventwhen effect logic needs current props/state without widening dependencies. - Refs: store mutable, non-render state in
useRef. - Memoization: add
useMemo/useCallbackonly for measured hotspots or memoized child contracts. - Concurrency: use
startTransition/useDeferredValuefor non-urgent updates. - Fetch cleanup: use
AbortControllerwhen an effect owns request cancellation.