redux-xstate-poc
redux-easy-mode
Our great sponsors
redux-xstate-poc | redux-easy-mode | |
---|---|---|
6 | 1 | |
89 | 0 | |
- | - | |
2.6 | 5.3 | |
over 2 years ago | 5 months ago | |
TypeScript | TypeScript | |
- | - |
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-xstate-poc
-
JavaScript State Machines and Statecharts
Very doable, but not the most ideal syntax, since `createSlice` is focused on "here's an action / thing that happened, here's the reducer that handles that".
On the flip side, you can also use XState state machines as Redux reducers. A state machine is, after all, a function that takes a current state value + some event, and returns a new state.... exactly the same as a reducer function!
David and I have been saying for a while that we'd like to have a more official integration between XState and Redux. A while back, Matt Pocock put together an proof of concept for what a `createXStateSlice` might look like [1]. I actually sat down with David a couple weeks ago and we did some further design discussions about the possibility of using the `@xstate/fsm` package (a smaller version of XState's logic) as a starting point, and generating RTK actions based on that. No code yet, but it seems feasible.
[0] https://dev.to/davidkpiano/redux-is-half-of-a-pattern-1-2-1h...
[1] https://github.com/mattpocock/redux-xstate-poc
-
The new wave of React state management
Fun fact: one of the XState devs did a proof-of-concept showing how to use XState state machines as Redux reducers and integrate the side effects handling as a middleware:
https://github.com/mattpocock/redux-xstate-poc
We'd like to work together to turn that into a more official integration sometime soon.
- Writing React components with State Machines.
-
What does a large XState / Robot3 / FSM-based application architecture look like?
One of the XState devs recently posted https://github.com/mattpocock/redux-xstate-poc , an example of how you can integrate XState into a Redux app for use as a Redux slice reducer + side effects middleware
- @xstate/redux: Official proposal for an XState middleware for Redux
redux-easy-mode
-
The new wave of React state management
Have you considered something like "selector based side effects"? https://github.com/mikew/redux-easy-mode#selector-based-side.... The difference is most side effects are based around when an action is dispatched, but I wanted to know when things _change_.
It's possible to do the same thing with a react component + useEffect, but I thought a pure-redux solution would better fit the spirit of Redux.
What are some alternatives?
yieldmachine - Components for State Machines, using Generator Functions
redux-eggs - Add some Eggs to your Redux store.
devtools - Replay.io DevTools
redux-templates - Official Redux templates for Vite, Create-React-App, and more
vuex - 🗃️ Centralized State Management for Vue.js.
grug-dev-translation - The Grug Brained Developer - Plain English Translation
Dn-FamiTra
rfcs - RFCs for XState and Stately tools
alt - Isomorphic flux implementation
Dn-FamiTracker - modifications and improvements for 0CC-FamiTracker (based on j0CC-FamiTracker 0.6.3)
redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development