React state management has a well-worn path: pick a library (Redux, Zustand, Jotai, MobX), define your store shape, write actions and reducers, connect components, wire up side effects.

It works. But for data that lives on the client — form state, cached API responses, user preferences — there's a simpler approach.

What if your database was the source of truth and your UI just reacted to changes?

The idea

Instead of fetching data from an API, storing it in state, and manually keeping things in sync, you query a local database directly. When data changes, the UI updates automatically. No reducers, no selectors, no cache invalidation.