TypeScript state-management

Open-source TypeScript projects categorized as state-management

Top 23 TypeScript state-management Projects

  • zustand

    🐻 Bear necessities for state management in React

    Project mention: Get out of state management hell with automatic revalidation | dev.to | 2024-01-09

    You add the current user state to a React Context or state management library, read from it on the top bar, and write to it after a user signs in. Done. No big deal, right?

  • xstate

    Actor-based state management & orchestration for complex app logic.

    Project mention: Rethinking State Management - Why XState is a Game-Changer for Developers | dev.to | 2024-01-15

    In this article, I want to share a personal journey of discovery in the world of state management. My path led me to XState, a tool that I believe is the best choice for managing state in modern applications like React, Angular, Vue, and others. This isn't just a professional advice; it's a personal recommendation based on real-world experience.

  • WorkOS

    The modern API for authentication & user identity. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • rematch

    The Redux Framework

    Project mention: What is React State Management? | dev.to | 2023-04-06

    Link: https://rematchjs.org/

  • platform

    Reactive State for Angular

    Project mention: Using Angular Signals for Global State | dev.to | 2023-07-29

    In an application that I’m working on, before Angular 16 shipped, I was using a custom StoreService to hold global application state. I’ve tried libraries like NgRx and Akita to manage global state, but found them to be way too heavy-handed for what I wanted (not saying ANYTHING negative towards these libraries; not every tool is right for every job, and the authors of these libraries would probably be the first to tell you that). This custom StoreService was created using RxJS, and looked like this:

  • mobx-state-tree

    Full-featured reactive state management without the boilerplate

    Project mention: Performance with React Context API | /r/react | 2023-06-19

    Folks disagreed with my comment yesterday criticizing Redux as an architecture, but this sort of illustrates my point. I'd suggest taking a look at Mobx State Tree, which automatically re-renders components only when they depend on the specific part of the state that changed. Other fields can change without triggering unnecessary re-renders, and developers don't have to worry about manually splitting the state to deal with performance problems.

  • router

    🤖 Fully typesafe Router for React (and friends) w/ built-in caching, 1st class search-param APIs, client-side cache integration and isomorphic rendering.

    Project mention: Nx - Highlights of 2023 | dev.to | 2023-12-28

    Tanstack - Tanstack has evolved to an entire ecosystem consisting of the famous Tanstack (or React) Query, Tanstack Table, now also Tanstack Router and Tanstack Form. It started with Tanstack Query, which adopted Nx and Nx Cloud. Zack talked about this collab with Dominik, and we also had Dominik on our Nx live stream. Now, all the above-mentioned Tanstack libs have adopted Nx, and there's more coming.

  • effector-react

    Business logic with ease ☄️

    Project mention: Global, reactive data store vs local, colocated graphql query? | /r/reactnative | 2023-03-20

    I've been using effector, together with the apollo-client for the last few years and, while it works, it's completely detached from the actual screens. In other words, you need to fetch everything (at startup) you might use at some point and it stays in the memory for the entire duration of the session. Error handling is also tricky as you need to explicitly subscribe to the specific error stores in order to render them. And, if something goes wrong, it's tricky to tell what data is actually used in the current screen, so it's almost impossible to do the Retry efficiently. OTOH the screens are nice and simple - no spinners, the data is just there, thus the app feels (and is) fast.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • unstated-next

    200 bytes to never think about React state management libraries ever again

  • constate

    React Context + State

  • akita

    🚀 State Management Tailored-Made for JS Applications

  • store

    🚀 NGXS - State Management for Angular

    Project mention: Angular state management | /r/Angular2 | 2023-10-20

    It's still boilerplatey but a little less than NgRx. But we use Ngxs: https://ngxs.io. It's a little more complex than elf but a lot more robust in my opinion.

  • blocksuite

    🧩 Content editing tech stack for the web - BlockSuite is a toolkit for building editors and collaborative applications.

    Project mention: BlockSuite is the open-source block-based editor | news.ycombinator.com | 2023-07-26
  • signals

    Manage state with style in every framework

    Project mention: Svelte 5: Runes | news.ycombinator.com | 2023-09-20

    Putting the runic terminology aside and looking into how the signal primitive is implemented should dispel the magic. I learned a lot from examining preact's implementation: https://github.com/preactjs/signals/blob/main/packages/core/...

  • useStateMachine

    The <1 kb state machine hook for React

    Project mention: Typescript Explicit States for pages | /r/react | 2023-03-07

    I came across this library: useStateMachine which has the closest syntax to what I was hoping to use. I’d like know what the community thinks or has any guides/suggestions.

  • data-client

    Async State Management without the Management

  • elf

    🧙‍♀️ A Reactive Store with Magical Powers

    Project mention: Angular state management | /r/Angular2 | 2023-10-20

    I have reasonable knowledge with most of other popular JS frameworks especially React. But, Angular seems quite different from DX perspective. For React, my default stage management is to use React Query for server sync and Zustand for client state. Often on Angular context I read that people recommend using NgRx and saying that it is like Redux. But I find Redux DX quite bad and I only work with it on legacy projects. So is there similar approach to managing state in Angular app? I found solutions such as: https://github.com/ngneat/query and then https://github.com/ngneat/elf. Would these make sense for Angular and are there good alternatives?

  • mutative

    Efficient immutable updates, 2-6x faster than naive handcrafted reducer, and more than 10x faster than Immer.

    Project mention: Mutative 1.0 – A New Era in Efficient Immutable Updates | news.ycombinator.com | 2024-01-31

    The readme explains how Mutative achieves better performance over Immer: https://github.com/unadlib/mutative#readme

  • concent

    A reactive atomic state engine for React like.

    Project mention: Focusing on optimization, surpassing immer, limu finally reaches the top of immutable data performance | dev.to | 2024-01-06

    helux A state engine that integrates atom, signal, and dependency tracking, and supports fine-grained response updates

  • apprun

    AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components.

    Project mention: Let's learn how modern JavaScript frameworks work by building one | news.ycombinator.com | 2023-12-03
  • pullstate

    Simple state stores using immer and React hooks - re-use parts of your state by pulling it anywhere you like!

    Project mention: ReactNative Expo File Based Routing with Firebase Authentication | dev.to | 2023-04-26

    PullState - https://lostpebble.github.io/pullstate/

  • reatom

    Reatom - the ultimate state manager

    Project mention: Is redux and thunks still used or are there other alternatives for it now? | /r/reactjs | 2023-05-10

    Nanostores and Reatom are also great, fast atomic libs

  • signia

    Reactive signals that scale, by tldraw.

    Project mention: Which state management library should I use? | /r/reactjs | 2023-05-18

    For signals, Signia or Legend State.

  • focal

    Program user interfaces the FRP way.

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-01-31.

TypeScript state-management related posts


What are some of the best open-source state-management projects in TypeScript? This list will help you:

Project Stars
1 zustand 40,144
2 xstate 25,762
3 rematch 8,449
4 platform 7,822
5 mobx-state-tree 6,836
6 router 6,574
7 effector-react 4,437
8 unstated-next 4,165
9 constate 3,908
10 akita 3,692
11 store 3,482
12 blocksuite 3,397
13 signals 3,330
14 useStateMachine 2,345
15 data-client 1,873
16 elf 1,508
17 mutative 1,290
18 concent 1,257
19 apprun 1,169
20 pullstate 1,062
21 reatom 917
22 signia 851
23 focal 716
ChatGPT with full context of any GitHub repo.
Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.