Not all state needs to be global. Choosing the right scope simplifies your architecture.
Local state (component):
- Form input values
- UI toggles (isOpen, isHovered)
- Component-specific loading states
Global state (app-wide):
- Current user
- Theme/preferences
- Shopping cart
- Shared data accessed by many components
Rule of thumb: Start local. Lift to global only when multiple unrelated components need the same data.