Ask HN: What is your favorite front end state management solution?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Civic Auth - Auth in Less Than 5 Minutes
Civic Auth comes with multiple SSO options, optional embedded wallets, and user management β€” all implemented with just a few lines of code. Start building today.
www.civic.com
featured
SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Add the SurveyJS white-label form builder to your JavaScript app (React/Angular/Vue3). Build complex JSON forms without coding. Fully customizable, works with any backend, perfect for data-heavy apps. Learn more.
surveyjs.io
featured
  1. mobx-state-tree

    Full-featured reactive state management without the boilerplate

    mobx-state-tree (https://mobx-state-tree.js.org/)

    Benefits of it over mobx is data normalization with references and JSON patches which allow you sync complex state easily. Typed models are also a plus.

    Drawbacks are performance (see https://github.com/mobxjs/mobx-state-tree/issues/1267).

    Previously was using immer, which I loved because of immutability but moved off since classes and OOP didn't feel as natural as in mst.

    If I were to pick an alternative, might try redux with normalization https://redux.js.org/usage/structuring-reducers/normalizing-....

    And if I were to build a state management tool, I would prioritize a library that has

  2. Civic Auth

    Auth in Less Than 5 Minutes. Civic Auth comes with multiple SSO options, optional embedded wallets, and user management β€” all implemented with just a few lines of code. Start building today.

    Civic Auth logo
  3. speaker.app

    Discontinued Speaker.app (https://speaker.app) is an encrypted peer-to-peer (P2P) group communication platform which does not require a user account to use. Users remain anonymous on the network unless choosing to personally identify themselves.

    I prefer sticking w/ the basics and using EventEmitter.

    https://speaker.app has a UI I've been prototyping w/ this approach.

  4. htmx

    </> htmx - high power tools for HTML

    Thanks for sharing this, I found this paradigm to be highly intuitive. Adding a link to the HTMX docs which also do a great job of explaining: https://htmx.org/

  5. jotai

    πŸ‘» Primitive and flexible state management for React

    Jotai [1] is my go to, though I have never used it for anything too big.

    [1] https://jotai.org/

  6. valtio

    πŸ§™ Valtio makes proxy-state simple for React and Vanilla

    I like valtio, works w/ React or just js. Has subscribe, derive, and more.

    https://github.com/pmndrs/valtio

  7. effector-react

    Business logic with ease β˜„οΈ

    Actually, Svelte uses Effector for state management under the hood. You can read more about it here: https://effector.dev/. It also has bindings for other frameworks including React, Vue and Solid. Effector is a little not beginner-friendly, but once you truly understand it, Effector becomes a very powerful.

  8. zustand

    🐻 Bear necessities for state management in React

    Zustand is great: https://github.com/pmndrs/zustand

    It gets out of the way in terms of boilerplate, has a good solution for avoiding unnecessary re-renders, has tooling for deep state updates without messy syntax (immer) and strikes an overall good balance between powerful and easy to use. Cons might be that it is a bit more obscure so people might have to learn it. Also the learning curve is a bit steep. YMMV

  9. SurveyJS

    JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor. Add the SurveyJS white-label form builder to your JavaScript app (React/Angular/Vue3). Build complex JSON forms without coding. Fully customizable, works with any backend, perfect for data-heavy apps. Learn more.

    SurveyJS logo
  10. wisdom

    Building better developers by specifying criteria of success (by prettydiff)

    I use a simple 4 point system for state management:

    https://github.com/prettydiff/wisdom/blob/master/state_manag...

    I use it for an OS GUI here which fully loads in 200ms in Chrome (300ms Edge):

    https://github.com/prettydiff/share-file-systems

    When simple things, like state management, become complicated they are either over engineered or poorly planned.

  11. share-file-systems

    Use a Windows/OSX like GUI in the browser to share files cross OS privately. No cloud, no server, no third party.

    I use a simple 4 point system for state management:

    https://github.com/prettydiff/wisdom/blob/master/state_manag...

    I use it for an OS GUI here which fully loads in 200ms in Chrome (300ms Edge):

    https://github.com/prettydiff/share-file-systems

    When simple things, like state management, become complicated they are either over engineered or poorly planned.

  12. robodux

    caching in redux made simple

    Like most systems, it’s all about how it is setup. I’ve learned over 5-7 years how to organize FE (with redux) code so it is readable. Also inheriting a system can be quite the burden and I could see how it was be difficult to grok.

    I also heavily leverage https://github.com/neurosnap/robodux to treat redux as a database.

    At the end of the day, redux is an event emitter (pub/sub) with a single object that stores all of your state that multiple components need to reuse.

  13. platform

    Reactive State for Angular (by ngrx)

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Show HN: I made a state management library

    1 project | news.ycombinator.com | 22 Jan 2025
  • What's your favorite state manager?

    5 projects | /r/reactnative | 4 Jun 2021
  • Profiling Fastly Compute applications

    1 project | dev.to | 23 Jan 2025
  • Firefox Profiler: Web app for Firefox performance analysis

    1 project | news.ycombinator.com | 4 Jan 2025
  • Show HN: Made a small JavaScript benchmarking app – BenchJS

    3 projects | news.ycombinator.com | 2 Jan 2025

Did you know that TypeScript is
the 1st most popular programming language
based on number of references?