redux-xstate-poc
yieldmachine
Our great sponsors
redux-xstate-poc | yieldmachine | |
---|---|---|
6 | 1 | |
89 | 33 | |
- | - | |
2.6 | 10.0 | |
over 2 years ago | over 1 year ago | |
TypeScript | TypeScript | |
- | MIT License |
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
yieldmachine
-
JavaScript State Machines and Statecharts
I’m curious how you use and compose generator functions?
I created a JavaScript state machine library using them to define each state. https://github.com/JavaScriptRegenerated/yieldmachine
I imagine your approach must be different?
What are some alternatives?
devtools - Replay.io DevTools
restate - Build reliable, understandable and debuggable backends with state machines
vuex - 🗃️ Centralized State Management for Vue.js.
redux-essentials-example-app - Example app for the Redux Essentials tutorial
Dn-FamiTra
documentation-framework - "The Grand Unified Theory of Documentation" (David Laing) - a popular and transformative documentation authoring framework
rfcs - RFCs for XState and Stately tools
redux-easy-mode - A very easy to understand and use set of tools for Redux. Includes action builders, reducer builders, side-effect middleware, and async actions.
Dn-FamiTracker - modifications and improvements for 0CC-FamiTracker (based on j0CC-FamiTracker 0.6.3)
vue-svelte-size-analysis - Comparing generated code size of Vue and Svelte components
redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development
hookstate - The simple but very powerful and incredibly fast state management for React that is based on hooks