State Management History

Creator
Creator
Seonglae ChoSeonglae Cho
Created
Created
2025 Oct 8 9:35
Editor
Edited
Edited
2025 Oct 8 9:55
Refs
Refs

2013 ~ 2016

Era dominated by client state management where data from the server was stored and managed as global state. However, this was essentially equivalent to implementing server cache directly.
Flux Design Pattern
with one-way data binding +
Redux
,
mobx
,
Vuex
Vuex

2017 ~ 2019

Facebook introduced GraphQL, bringing the concept of caching and auto-synchronizing server state on the client.
In 2018,
React Hook
made it possible to express data requests as hooks. However, Vue2 lacked Composition API, which explains why Server State Synchronization emerged faster in React than in Vue.

2019

Vercel announced SWR (Stale-While-Revalidate) based on the idea of "implementing HTTP caching strategy as React hooks." The term Server State Management emerged to contrast with traditional client state management. In reality, it's still client state management, more precisely server state synchronization.

2020

React Query further generalized this concept, combining SWR's simplicity with Apollo's power.

Summary

However, client state managers like
Jotai
,
Pinia
, and
Zustand
are still necessary for managing browser internals, local storage, and user interaction states. This historical progression occurred because client state managers like
Redux
attempted to manage server data as well. Modern libraries like Jotai and Zustand have abandoned this approach to focus specifically on client-side state management.
 
 
 
 
 

Backlinks

React Library

Recommendations