Server state and client state have different characteristics.
Server state:
- Lives on the server, you have a cached copy
- Can become stale
- Shared across users
- Examples: posts, users, products
Client state:
- Only exists in browser
- Controlled entirely by you
- Per-session
- Examples: form values, UI state, local preferences
Modern approach: Use dedicated tools. Server state: React Query, SWR, Apollo. Client state: useState, Zustand, Redux.
Mixing them in one store creates complexity.