What problem does it solve?
Directly calling useEffect in React components can lead to subtle bugs, unnecessary renders, and harder-to-maintain code. This Skill enforces a no-use-effect rule and guides teams toward safer alternatives like deriving state, handling events in actions, memoization, and proper data-fetching patterns.
Core Features & Use Cases
- Prevents direct useEffect usage in component code and suggests replacement patterns such as deriving state inline, using event handlers, useMemo, and useSyncExternalStore.
- Provides a decision framework and examples for common scenarios: data fetching without effects, mount-time synchronization, and lifecycle-driven logic.
- Helps teams refactor existing components during code reviews and migrations to safer, more predictable patterns.
Quick Start
Refactor a sample React component to remove direct useEffect usage by deriving state and moving effect logic into event handlers or memoized computations.