redux VS effector-react

Compare redux vs effector-react and see what are their differences.

redux

Predictable state container for JavaScript apps (by reduxjs)
Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • OPS - Build and Run Open Source Unikernels
redux effector-react
123 14
57,400 3,616
0.5% 2.2%
8.9 9.7
5 days ago 1 day ago
TypeScript TypeScript
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

redux

Posts with mentions or reviews of redux. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-14.

effector-react

Posts with mentions or reviews of effector-react. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-27.
  • What are the production ready alternatives for Vuex with full TS support for Vue2 ?
    3 projects | reddit.com/r/vuejs | 27 Oct 2021
    https://effector.dev/ We use it on production in several projects
  • The best part of Effector
    2 projects | dev.to | 3 Oct 2021
    To understand this part of the article, it is better to read Effector’s documentation first. Effector has a game-changer feature β€” Fork API. To understand it, we should talk about one important concept β€” scope.
  • Show HN: React Oxide: minimal in-browser code editor with tabs and files
    5 projects | news.ycombinator.com | 29 Sep 2021
    The issue with using eventemitter for state coordination is that when the UI grows into complexity you run into race conditions where some component isn't showing the right data because it got mounted too late or something somewhere up the hierarchy changed a key and the component got recreated and its state got lost.

    I guess as long as long as the component hierarchy fits in your head, it is likely straightforward to reason about all the event interactions.

    The lifted state model ala redux (and similar alternatives) doesn't suffer from this problem.

    I personally prefer effector [1] these days because it combines the convenience of event emitter with multiple stores and you usually find yourself thinking much less about what changed the store causing my component to rerender much less often.

    [1] https://effector.dev/

  • Best Store Option for Vue3 with Typescript
    7 projects | reddit.com/r/vuejs | 13 Sep 2021
    It’s worth noting that there is a thing called Effector and I have heard a lot of good stuff about it. Maybe you should give it a try and take a peek at its documentation as well.
  • Recoil, MobX, React Query which one to choose for serious project
    3 projects | reddit.com/r/reactjs | 25 Jun 2021
    Personally I'm finding Effector to be very useful for the kinds of projects I'm working on. It encourages small atomic stores which means you don't need selectors to avoid rerenders throughout the app. Effectors stores also handle updates from multiple dependent async effects and derived states really well.
  • Nano Stores: tiny state manager for React/Preact/Vue/Svelte in 152 bytes (!) and with tree-shaking support
    5 projects | reddit.com/r/javascript | 10 Jun 2021
    This looks really cool to me and reminds me a lot of Effector, and looking at one of the open issues it seems that you are aware of it. Does this project have goals that specifically set it apart from Effector? You seem to lead with bundle size as a defining characteristic. Is that your long term goal? You seem to have plans to handle effects. How similar or different will that be from Effector?
  • The simplest React state manager now at stable release
    6 projects | news.ycombinator.com | 20 Apr 2021
    I found effector[1] after I started looking around for a state manager which:

    1. Either supported multiple stores or provides a way to subscribe to individual branches (as opposed to the entire store).

    2. Had an action/event abstraction similar to redux where multiple branches (or multiple stores) could subscribe to the same action and update independently (and without knowledge of invoker).

    I have been using it for some time and have had a good experience.

    The core is framework agnostic (with additional integrations for react & vue).

    I started used it with Svelte and its API matches the expectations of Svelte stores so you can use it without needing any additional integration, which was cool. Later I used it with lit-element through a 5 line custom integration and that worked pretty well too.

    [1] https://github.com/effector/effector

  • Frameworkless Movement
    3 projects | news.ycombinator.com | 31 Mar 2021
    "React would just be a View layer that renders content but is unrelated to the rest of the application"

    This is how I treat it. React or more generally the view handles form state and stuff like modal visibility. Things that a user can interact with so to speak.

    I have a lib folder that which is the library of my business logic. Concepts related to our domain, analytics, validation, captchas etc. Some of it is shared between client and server, some of it is specific to either.

    Then I have my data layer. From my experience a lot of the data handling is interacting nodes (or stores) that can update asynchronously and react to each other. I use Effector (https://effector.dev) to declaratively map all this.

    For example when a user submits their details it triggers the recaptcha check which if successsful triggers the saving of a user and the creation of a lead and once we have a lead token we navigate to the next page in the flow.

    Handling logic like that in React can really complicate components and the primitives in React aren't really well suited to it. So I found Effector and its been great. The added bonus is it makes the React components responsible for one thing, which is capturing user interaction. They capture events and forward them into Effector. The React code is clean and if I want to drastically change the UI or alter the flow everything is loosely coupled.

    Overall I'm quite skeptical of anything that reinforces this all in one approach to things. I appraise the pitched value and figure out how it can be achieved in a more separate way. The answers might not be immediately obvious and it might not be as easy to get started but I feel the overall result has been great so far.

  • Share parsed data from an API between components - Redux vs RecoilJS vs RxJs vs React-Query vs Context API vs Local
    1 project | reddit.com/r/reactjs | 23 Mar 2021
    I'd suggest looking at Effector. It has atomic stores so a component can subscribe to an individual store and avoid unnecessary updates from a monolithic store. You can also derive smaller stores from a larger store and subscribe to them. A smaller, more specialized store can update less often. Anyway have a look, it might be suitable for you.
  • Svelte and RxJS Redux (MiniRx)
    2 projects | reddit.com/r/sveltejs | 28 Feb 2021
    I think this is a cool idea. A big part of the appeal of Svelte for me is the open reactivity through Observables. I wrote a post recently about using Effector to handle API state in Svelte.

What are some alternatives?

When comparing redux and effector-react you can also consider the following projects:

zustand - 🐻 Bear necessities for state management in React

react-query - βš›οΈ Hooks for fetching, caching and updating asynchronous data in React

redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development

Recoil - Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.

cerebral - Declarative state and side effects management for popular JavaScript frameworks

fluxible - A pluggable container for universal flux applications.

reflux - A simple library for uni-directional dataflow application architecture with React extensions inspired by Flux

fluxxor - :hammer_and_wrench: Flux architecture tools for React

valtio - πŸ’Š Valtio makes proxy-state simple for React and Vanilla

pinia - 🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support

MobX - Simple, scalable state management.

mobx-react