AOE Technology RadarAOE Technology Radar

State Management Pattern

architecturecodingfrontend
Adopt

State management is a key part of building modern web applications. Two lightweight yet powerful libraries that simplify this task are Zustand and Jotai, both offering modern alternatives to heavier solutions like Redux.

Zustand is a minimalistic state management library that creates global stores with a simple API and no boilerplate. It uses features like hooks and embraces mutability under the hood, while making state updates predictable and fast. Zustand stores are flexible — they can hold any kind of data, including functions and objects — and they work seamlessly in React applications without the need for context providers. Thanks to built-in support for features like persisted state, selectors, and middleware, Zustand scales from small to large applications effortlessly.

Jotai, by contrast, introduces a primitive and atomic approach to state management. Inspired by the principles of Recoil, Jotai allows developers to manage state through small, composable atoms — units of state that can be shared and combined across components. This atom-based model provides fine-grained reactivity, so components only re-render when the atoms they use change. Jotai is designed to be minimal and explicit, with first-class support for derived state, asynchronous atoms, and TypeScript. It fits naturally into component-driven development and encourages co-located state, making it easy to reason about and scale.

Compared to traditional libraries, both Zustand and Jotai prioritize simplicity, minimal bundle size, and modern React integration.

Adopt

State Management is a design pattern with the goal of efficiently sharing state data across components while separating domain representation from state management. This pattern is widely used in many popular web frameworks such as Vuex or Redux.

Especially in reactive systems, this pattern helps in maintaining decoupled, stateless components with immutable data. The implementation of state management varies and depends on the specific requirements of the application at hand.

For distributed backend systems, one might consider utilizing Akka's cluster sharding module to elastically manage domain object states.

We employ various state management patterns across most Vue and React projects that require them.

Adopt

State Management is a design pattern with the goal of properly sharing state data across components and separating domain representation from state management. This pattern is applied by many popular web frameworks such as Vuex, Redux or Flux.

Especially in reactive systems, this pattern helps to solve the task of maintaining decoupled, stateless components with immutable data. The ways of implementing state management differs and depends on the specific requirements of the application at hand.

For distributed backend systems one might want to utilize Akka's cluster sharding module to elastically manage domain object states.

We use the various state management patterns across most Vue and React projects that warrant them.