15 hours ago
- React components can run on either the client (user's device) or the server (creator's device), each with distinct advantages.
- Client-side components enable instant interactivity (e.g., counter) by using local state and avoiding network delays, following UI = f(state).
- Server-side components can access local data sources (e.g., file system) and preprocess data before sending only the needed UI, following UI = f(data).
- The two paradigms are seemingly incompatible: client needs state and low latency, server needs data and centralized processing.
- Real applications often require both patterns, prompting the need to split components across environments while preserving React's composability.