Why Reim is not another Redux
An (im)mutable state management library, simply awesome
If you have been paying attention to Twitter past few weeks, you may have noticed the spiking rival between Redux and Mobx.
In fact quite some of them are recommending moving to Mobx from Redux, due to Redux’s infamous boilerplate structure.
But really, is Mobx the only choice? If we are using Mobx for the reactivity, why not just use Vue?
Reim
Reim.js is an (im)mutable state management library. Inspired by great libraries like Redux, but without boilerplate.
What does that mean?
Well, if you have used React / Redux / Unstated before, Reim will feel so familiar everything just works.
Overview
Reim builds upon 3 parts:
1. Store
Store is for creating a state that exposes method
setState
for updating state
2 + 3. Subscribe / Connect + setState
Side Effects
Instead of having side effects bound to a single store, Reim provides reim-task, which makes an async function hold a store to actively maintain its status
Use with other frameworks
Although Reim was built initially for React, it can also be used with other libraries easily.
Vue
Rxjs / Angular
React-specific: Sync react-router-v4
It has always been really hard to sync router state with store, even for mature frameworks Redux and Mobx.
For Reim, you just need: