What problem does it solve? Developers frequently misuse React's useState hook by mutating state directly, reading stale values after updates, storing redundant derived data, or choosing the wrong hook for the job, leading to subtle bugs and unnecessary re-renders. ## Core Features & Use Cases - Hook Selection Guidance: Clarifies when to use useState versus useRef, useReducer, useMemo, useContext, or external stores like Zustand and TanStack Query. - Critical Rules Reference: Covers immutability, asynchronous updates, updater functions, lazy initializers, and top-level hook calls with correct and incorrect code examples. - Use Case: When a counter only increments once despite calling setCount three times, consult this Skill to learn that updater functions like setCount(c => c + 1) are required for sequential updates. ## Quick Start Ask the AI to review your React component's useState usage and explain why a state update is not triggering a re-render.