Web Patterns
Use compound components when related UI shares state and interaction semantics:
Use compound components when related UI shares state and interaction semantics:
This file extends [common/patterns.md](../common/patterns.md) with web-specific patterns.
Use compound components when related UI shares state and interaction semantics:
<Tabs defaultValue="overview">
<Tabs.List>
<Tabs.Trigger value="overview">Overview</Tabs.Trigger>
<Tabs.Trigger value="settings">Settings</Tabs.Trigger>
</Tabs.List>
<Tabs.Content value="overview">...</Tabs.Content>
<Tabs.Content value="settings">...</Tabs.Content>
</Tabs>Treat these separately:
| Concern | Tooling | |---------|---------| | Server state | TanStack Query, SWR, tRPC | | Client state | Zustand, Jotai, signals | | URL state | search params, route segments | | Form state | React Hook Form or equivalent |
Persist shareable state in the URL: