Alternatives to Zustand logo

Alternatives to Zustand

Redux, vuex, MobX, redux-saga, and redux-thunk are the most popular alternatives and competitors to Zustand.
0
1
+ 1
0

What is Zustand and what are its top alternatives?

Small, fast and scaleable bearbones state-management solution. Has a comfy api based on hooks, that isn't boilerplatey or opinionated, but still just enough to be explicit and flux-like.
Zustand is a tool in the State Management Library category of a tech stack.
Zustand is an open source tool with 1.7K GitHub stars and 45 GitHub forks. Here鈥檚 a link to Zustand's open source repository on GitHub

Zustand alternatives & related posts

related Redux posts

Johnny Bell
Johnny Bell
Senior Software Engineer at StackShare | 43 upvotes 282.5K views
Firebase
Firebase
React
React
Redux
Redux
styled-components
styled-components
Netlify
Netlify
Gatsby
Gatsby
GitHub
GitHub
#ReactRally
#Frontend
#Google

I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

See more
Russel Werner
Russel Werner
Lead Engineer at StackShare | 16 upvotes 218.6K views
atStackShareStackShare
GraphQL
GraphQL
React
React
Apollo
Apollo
Redux
Redux
#FrontEndFrameworks

Earlier this year we decided to go "all-in" on GraphQL to provide our front-end API. We needed a stable client library to power our React app. We decided to use Apollo Client for a few reasons:

1) Stability 2) Maturity 3) Heaps of features 4) Great documentation (with use cases) 5) Support for server-side rendering 6) Allowed us to stop using Redux and Mobx

Overall we've had great success with this library, along with a few minor hiccups and work arounds, but no show stoppers. If you are coming from Redux.js land, it takes a bit of time to settle into a new way of thinking about how your data is fetched and flows through your React app. This part has been the biggest learning curve of anything to do with GraphQL.

One of the downsides to Apollo Client, once you build a larger application, (past the size of most of the documented use cases and sample apps) the state management tends to get distributed through various places; and not just components. Apollo Client has a state management feature that relies on a normalised local cache. Mastering the knowledge of how this works is key to getting the most out of the library and to architecting your component hierarchy properly.

#FrontEndFrameworks

See more
vuex logo

vuex

508
388
0
508
388
+ 1
0
Centralized State Management for Vue.js.
    Be the first to leave a pro
    vuex logo
    vuex
    VS
    Zustand logo
    Zustand

    related vuex posts

    Rails
    Rails
    Sidekiq
    Sidekiq
    PostgreSQL
    PostgreSQL
    Redis
    Redis
    MongoDB
    MongoDB
    Vue.js
    Vue.js
    vuex
    vuex
    jQuery
    jQuery
    React
    React
    Redux
    Redux
    Yarn
    Yarn
    #Bulma.io
    #Font-awesome

    I'm building a new process management tool. I decided to build with Rails as my backend, using Sidekiq for background jobs. I chose to work with these tools because I've worked with them before and know that they're able to get the job done. They may not be the sexiest tools, but they work and are reliable, which is what I was optimizing for. For data stores, I opted for PostgreSQL and Redis. Because I'm planning on offering dashboards, I wanted a SQL database instead of something like MongoDB that might work early on, but be difficult to use as soon as I want to facilitate aggregate queries.

    On the front-end I'm using Vue.js and vuex in combination with #Turbolinks. In effect, I want to render most pages on the server side without key interactions being managed by Vue.js . This is the first project I'm working on where I've explicitly decided not to include jQuery . I have found React and Redux.js more confusing to setup. I appreciate the opinionated approach from the Vue.js community and that things just work together the way that I'd expect. To manage my javascript dependencies, I'm using Yarn .

    For CSS frameworks, I'm using #Bulma.io. I really appreciate it's minimal nature and that there are no hard javascript dependencies. And to add a little spice, I'm using #font-awesome.

    See more

    related MobX posts

    Gianluca Bargelli
    Gianluca Bargelli
    React
    React
    AngularJS
    AngularJS
    Redux
    Redux
    MobX
    MobX

    We started rebuilding our dashboard components using React from AngularJS over 3 years ago and, in order to have predictable client-side state management we introduced Redux.js inside our stack because of the popularity it gained inside the JavaScript community; that said, the number of lines of codes needed to implement even the simplest form was unnecessarily high, from a simple form to a more complex component like our team management page.

    By switching our state management to MobX we removed approximately 40% of our boilerplate code and simplified our front-end development flow, which in the ends allowed us to focus more into product features rather than architectural choices.

    See more
    Johnny Bell
    Johnny Bell
    Senior Software Engineer at StackShare | 9 upvotes 132K views
    atStackShareStackShare
    jQuery
    jQuery
    React
    React
    ES6
    ES6
    JavaScript
    JavaScript
    MobX
    MobX
    GraphQL
    GraphQL
    Apollo
    Apollo
    #Hooks馃帲
    #Context

    We are always building new features and replacing old code at StackShare. Lately we have been building out new features for the frontend, and removing a lot of old jQuery code (sorry jQuery but it's time to go).

    We've mainly been using React, ES6 and JavaScript on the frontend to build out the components, and we've been slowly removing some legacy MobX and using GraphQL and Apollo for our state management, if we need to control state further than GraphQL and Apollo allows us to we use just plain React with #context , or the new fancy React #hooks馃帲 .

    As we've moved towards the above tech, its really made smashing out new features and updating legacy code super fast, and really fun!

    See more
    redux-saga logo

    redux-saga

    237
    151
    4
    237
    151
    + 1
    4
    An alternative side effect model for Redux apps
    redux-saga logo
    redux-saga
    VS
    Zustand logo
    Zustand

    related redux-saga posts

    React
    React
    Redux
    Redux
    AngularJS
    AngularJS
    React Native
    React Native
    redux-saga
    redux-saga
    Apache Cordova
    Apache Cordova
    #JavascriptMvcFrameworks

    We had contemplated a long time which #JavascriptMvcFrameworks to use, React and React Native vs AngularJS and Apache Cordova in both web and mobile. Eventually we chose react over angular since it was quicker to learn, less code for simple apps and quicker integration of third party javascript modules. for the full MVC we added Redux.js for state management and redux-saga for async calls and logic. since we also have mobile app along with the web, we can shere logic and model between web and mobile.

    See more
    redux-saga
    redux-saga
    Redux
    Redux
    React
    React
    redux-thunk
    redux-thunk
    Jest
    Jest

    Choosing redux-saga for my async Redux.js middleware, for a React application, instead of the typical redux-thunk .

    Redux-saga is much easier to test than Redux-thunk - it requires no module mocking at all. Converting from redux-thunk to redux-saga is easy enough, as you are only refactoring the action creators - not your redux store or your react components. I've linked a github repo that shows the same solution with both, including Jest tests.

    See more
    redux-thunk logo

    redux-thunk

    111
    56
    0
    111
    56
    + 1
    0
    Thunk middleware for Redux
      Be the first to leave a pro
      redux-thunk logo
      redux-thunk
      VS
      Zustand logo
      Zustand

      related redux-thunk posts

      redux-saga
      redux-saga
      Redux
      Redux
      React
      React
      redux-thunk
      redux-thunk
      Jest
      Jest

      Choosing redux-saga for my async Redux.js middleware, for a React application, instead of the typical redux-thunk .

      Redux-saga is much easier to test than Redux-thunk - it requires no module mocking at all. Converting from redux-thunk to redux-saga is easy enough, as you are only refactoring the action creators - not your redux store or your react components. I've linked a github repo that shows the same solution with both, including Jest tests.

      See more
      React
      React
      redux-saga
      redux-saga
      redux-thunk
      redux-thunk
      Redux
      Redux
      #Redux-saga

      For async requests in React I use redux-saga , to my opinion it is the most organized framework for async requests, it is clearer then redux-thunk and conforms to the style of Redux.js which results in a more structured project, especially in large web applications. #redux-saga

      See more
      reselect logo

      reselect

      34
      13
      0
      34
      13
      + 1
      0
      Selector library for Redux
        Be the first to leave a pro
        reselect logo
        reselect
        VS
        Zustand logo
        Zustand
        Redux Observable logo

        Redux Observable

        24
        7
        0
        24
        7
        + 1
        0
        A powerful middleware for Redux using RxJS
          Be the first to leave a pro
          Redux Observable logo
          Redux Observable
          VS
          Zustand logo
          Zustand
          Open Web Analytics logo

          Open Web Analytics

          17
          1
          0
          17
          1
          + 1
          0
          Open source web analytics software
            Be the first to leave a pro
            Open Web Analytics logo
            Open Web Analytics
            VS
            Zustand logo
            Zustand
            Statsbot logo

            Statsbot

            16
            19
            6
            16
            19
            + 1
            6
            Statsbot empowers every department with self-serve access to data
            Statsbot logo
            Statsbot
            VS
            Zustand logo
            Zustand
            Unstated logo

            Unstated

            8
            9
            1
            8
            9
            + 1
            1
            State so simple, it goes without saying
            Unstated logo
            Unstated
            VS
            Zustand logo
            Zustand
            Pullstate logo

            Pullstate

            4
            5
            0
            4
            5
            + 1
            0
            Simple state stores using immer and React hooks
              Be the first to leave a pro
              Pullstate logo
              Pullstate
              VS
              Zustand logo
              Zustand
              Heybooster logo

              Heybooster

              1
              2
              0
              1
              2
              + 1
              0
              Make sense of Google Analytics data for e-commerce teams
                Be the first to leave a pro
                Heybooster logo
                Heybooster
                VS
                Zustand logo
                Zustand
                Redux Dynamic Modules logo

                Redux Dynamic Modules

                1
                7
                0
                1
                7
                + 1
                0
                A new way to scale Redux applications (by Microsoft)
                  Be the first to leave a pro
                  Redux Dynamic Modules logo
                  Redux Dynamic Modules
                  VS
                  Zustand logo
                  Zustand
                  ClickMeter logo

                  ClickMeter

                  1
                  1
                  0
                  1
                  1
                  + 1
                  0
                  Monitor, compare and optimize all your marketing links in one place to increase the conversion rate
                    Be the first to leave a pro
                    ClickMeter logo
                    ClickMeter
                    VS
                    Zustand logo
                    Zustand