What problem does it solve?
This Skill helps developers and reviewers avoid misusing useEffect for local React logic, which commonly causes double renders, stale UI, cascading updates, and concurrency-related tearing. It clarifies when effects are required (external subscriptions, timers, third-party integrations) versus when render-time logic, event handlers, or remounting are better.
Core Features & Use Cases
- Decision tree that distinguishes external synchronization from pure React logic and guides whether to use useEffect or alternatives.
- Illustrated anti-patterns with corrected patterns for derived state, state resets, list filtering, user-action side effects, and external subscriptions.
- Practical use cases: code reviews to remove unnecessary effects, refactoring forms to eliminate transient state bugs, and converting unsafe subscriptions to useSyncExternalStore for concurrency safety.
Quick Start
Ask the skill to review a React component for useEffect anti-patterns and recommend render-time calculations, event-handler conversions, or key-prop remount strategies.