Alternatives to redux-saga logo

Alternatives to redux-saga

redux-thunk, GraphQL, MobX, Redux Observable, and JavaScript are the most popular alternatives and competitors to redux-saga.
419
348
+ 1
8

What is redux-saga and what are its top alternatives?

An alternative side effect model for Redux apps
redux-saga is a tool in the State Management Library category of a tech stack.
redux-saga is an open source tool with 22.5K GitHub stars and 2K GitHub forks. Here’s a link to redux-saga's open source repository on GitHub

Top Alternatives to redux-saga

  • redux-thunk
    redux-thunk

    Redux Thunk middleware allows you to write action creators that return a function instead of an action. The thunk can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met. The inner function receives the store methods dispatch and getState as parameters. ...

  • GraphQL
    GraphQL

    GraphQL is a data query language and runtime designed and used at Facebook to request and deliver data to mobile and web apps since 2012. ...

  • MobX
    MobX

    MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses. ...

  • Redux Observable
    Redux Observable

    It allows developers to dispatch a function that returns an observable, promise or iterable of action(s). Compose and cancel async actions to create side effects and more. ...

  • Redux
    Redux

    It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. t provides a great experience, such as live code editing combined with a time traveling debugger. ...

  • vuex
    vuex

    Vuex is a state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion. It also integrates with Vue's official devtools extension to provide advanced features such as zero-config time-travel debugging and state snapshot export / import. ...

  • reselect
    reselect

    Simple “selector” library for Redux (and others) inspired by getters in NuclearJS, subscriptions in re-frame and this proposal from speedskater. ...

  • Zustand
    Zustand

    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. ...

redux-saga alternatives & related posts

redux-thunk logo

redux-thunk

720
183
6
Thunk middleware for Redux
720
183
+ 1
6
PROS OF REDUX-THUNK
  • 6
    Easy
CONS OF REDUX-THUNK
    Be the first to leave a con

    related redux-thunk posts

    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

    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
    GraphQL logo

    GraphQL

    33.1K
    27.2K
    310
    A data query language and runtime
    33.1K
    27.2K
    + 1
    310
    PROS OF GRAPHQL
    • 75
      Schemas defined by the requests made by the user
    • 63
      Will replace RESTful interfaces
    • 62
      The future of API's
    • 49
      The future of databases
    • 13
      Self-documenting
    • 12
      Get many resources in a single request
    • 6
      Query Language
    • 6
      Ask for what you need, get exactly that
    • 3
      Fetch different resources in one request
    • 3
      Type system
    • 3
      Evolve your API without versions
    • 2
      Ease of client creation
    • 2
      GraphiQL
    • 2
      Easy setup
    • 1
      "Open" document
    • 1
      Fast prototyping
    • 1
      Supports subscription
    • 1
      Standard
    • 1
      Good for apps that query at build time. (SSR/Gatsby)
    • 1
      1. Describe your data
    • 1
      Better versioning
    • 1
      Backed by Facebook
    • 1
      Easy to learn
    CONS OF GRAPHQL
    • 4
      Hard to migrate from GraphQL to another technology
    • 4
      More code to type.
    • 2
      Takes longer to build compared to schemaless.
    • 1
      No support for caching
    • 1
      All the pros sound like NFT pitches
    • 1
      No support for streaming
    • 1
      Works just like any other API at runtime
    • 1
      N+1 fetch problem
    • 1
      No built in security

    related GraphQL posts

    Shared insights
    on
    Node.jsNode.jsGraphQLGraphQLMongoDBMongoDB

    I just finished the very first version of my new hobby project: #MovieGeeks. It is a minimalist online movie catalog for you to save the movies you want to see and for rating the movies you already saw. This is just the beginning as I am planning to add more features on the lines of sharing and discovery

    For the #BackEnd I decided to use Node.js , GraphQL and MongoDB:

    1. Node.js has a huge community so it will always be a safe choice in terms of libraries and finding solutions to problems you may have

    2. GraphQL because I needed to improve my skills with it and because I was never comfortable with the usual REST approach. I believe GraphQL is a better option as it feels more natural to write apis, it improves the development velocity, by definition it fixes the over-fetching and under-fetching problem that is so common on REST apis, and on top of that, the community is getting bigger and bigger.

    3. MongoDB was my choice for the database as I already have a lot of experience working on it and because, despite of some bad reputation it has acquired in the last months, I still believe it is a powerful database for at least a very long list of use cases such as the one I needed for my website

    See more
    Nick Rockwell
    SVP, Engineering at Fastly · | 46 upvotes · 3.2M views

    When I joined NYT there was already broad dissatisfaction with the LAMP (Linux Apache HTTP Server MySQL PHP) Stack and the front end framework, in particular. So, I wasn't passing judgment on it. I mean, LAMP's fine, you can do good work in LAMP. It's a little dated at this point, but it's not ... I didn't want to rip it out for its own sake, but everyone else was like, "We don't like this, it's really inflexible." And I remember from being outside the company when that was called MIT FIVE when it had launched. And been observing it from the outside, and I was like, you guys took so long to do that and you did it so carefully, and yet you're not happy with your decisions. Why is that? That was more the impetus. If we're going to do this again, how are we going to do it in a way that we're gonna get a better result?

    So we're moving quickly away from LAMP, I would say. So, right now, the new front end is React based and using Apollo. And we've been in a long, protracted, gradual rollout of the core experiences.

    React is now talking to GraphQL as a primary API. There's a Node.js back end, to the front end, which is mainly for server-side rendering, as well.

    Behind there, the main repository for the GraphQL server is a big table repository, that we call Bodega because it's a convenience store. And that reads off of a Kafka pipeline.

    See more
    MobX logo

    MobX

    730
    512
    114
    Simple, scalable state management
    730
    512
    + 1
    114
    PROS OF MOBX
    • 26
      It's just stupidly simple, yet so magical
    • 18
      Easier and cleaner than Redux
    • 15
      Fast
    • 13
      Automagic updates
    • 13
      React integration
    • 10
      Computed properties
    • 8
      ES6 observers and obversables
    • 7
      Global stores
    • 3
      Flexible architecture the requeriment
    • 1
      Has own router package (mobx-router)
    CONS OF MOBX
    • 1
      Maturity

    related MobX posts

    Dan Robinson

    The front end for Heap begun to grow unwieldy. The original jQuery pieces became difficult to maintain and scale, and a decision was made to introduce Backbone.js, Marionette, and TypeScript. Ultimately this ended up being a “detour” in the search for a scalable and maintainable front-end solution. The system did allow for developers to reuse components efficiently, but adding features was a difficult process, and it eventually became a bottleneck in advancing the product.

    Today, the Heap product consists primarily of a customer-facing dashboard powered by React, MobX, and TypeScript on the front end. We wrote our migration to React and MobX in detail last year here.

    #JavascriptUiLibraries #Libraries #JavascriptMvcFrameworks #TemplatingLanguagesExtensions

    See more

    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
    Redux Observable logo

    Redux Observable

    73
    45
    0
    A powerful middleware for Redux using RxJS
    73
    45
    + 1
    0
    PROS OF REDUX OBSERVABLE
      Be the first to leave a pro
      CONS OF REDUX OBSERVABLE
        Be the first to leave a con

        related Redux Observable posts

        Redux logo

        Redux

        30K
        22.9K
        674
        Predictable state container for JavaScript apps
        30K
        22.9K
        + 1
        674
        PROS OF REDUX
        • 191
          State is predictable
        • 150
          Plays well with React and others
        • 126
          State stored in a single object tree
        • 79
          Hot reloading out of the box
        • 74
          Allows for time travel
        • 14
          You can log everything
        • 12
          Great tutorial direct from the creator
        • 7
          Endorsed by the creator of Flux
        • 7
          Test without browser
        • 6
          Easy to debug
        • 3
          Enforces one-way data flow
        • 3
          Granular updates
        • 2
          Blabla
        CONS OF REDUX
        • 13
          Lots of boilerplate
        • 6
          Verbose
        • 5
          Steep learning curve
        • 5
          Design
        • 4
          Steeper learning curve than RxJs
        • 4
          Steeper learning curve than MobX

        related Redux posts

        Johnny Bell

        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

        I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

        We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

        Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

        We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

        Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

        See more
        vuex logo

        vuex

        1.4K
        921
        7
        Centralized State Management for Vue.js.
        1.4K
        921
        + 1
        7
        PROS OF VUEX
        • 2
          Debugging
        • 2
          Zero-config time-travel
        • 2
          Centralized State Management
        • 1
          Easy to setup
        CONS OF VUEX
          Be the first to leave a con

          related vuex posts

          Simon Reymann
          Senior Fullstack Developer at QUANTUSflow Software GmbH · | 23 upvotes · 4.7M views

          Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:

          • Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
          • Vue Styleguidist as our style guide and pool of developed Vue.js components
          • Vuetify as Material Component Framework (for fast app development)
          • TypeScript as programming language
          • Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
          • ESLint, TSLint and Prettier for coding style and code analyzes
          • Jest as testing framework
          • Google Fonts and Font Awesome for typography and icon toolkit
          • NativeScript-Vue for mobile development

          The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:

          • Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
          • Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
          • Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
          • Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
          • Large scaling. Vue.js can help to develop pretty large reusable templates.
          • Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
          See more

          Vue.js vuex Vue Router Quasar Framework Electron Node.js npm Yarn Git GitHub Netlify My tech stack that helps me develop quickly and efficiently. Wouldn't want it any other way.

          See more
          reselect logo

          reselect

          226
          30
          0
          Selector library for Redux
          226
          30
          + 1
          0
          PROS OF RESELECT
            Be the first to leave a pro
            CONS OF RESELECT
              Be the first to leave a con

              related reselect posts

              Zustand logo

              Zustand

              182
              139
              34
              Bear necessities for state management in React
              182
              139
              + 1
              34
              PROS OF ZUSTAND
              • 10
                Simple API
              • 7
                Unopinionated
              • 5
                Asynchronous action out the box
              • 4
                Supports Redux DevTools
              • 3
                Less boilerplate
              • 3
                Open source
              • 2
                LIghtweight
              CONS OF ZUSTAND
              • 2
                Requires function component

              related Zustand posts