redux-xstate-poc
xstate
Our great sponsors
redux-xstate-poc | xstate | |
---|---|---|
6 | 60 | |
89 | 26,155 | |
- | 1.4% | |
2.6 | 9.6 | |
over 2 years ago | 3 days 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
xstate
-
Mastering XState Fundamentals: A React-powered Guide
XState is a powerful library with comprehensive documentation. Keeping the documentation handy while building your next app with XState will be invaluable.
- 5 Alternatives to Redux for React State Management
-
Unleashing the Power of Actors in Frontend Application Development
XState is an excellent library that simplifies the utilization of actors in JavaScript applications. While this article focuses on using React, these principles apply equally well to other frameworks. In fact, they can be implemented anywhere JavaScript is executed.
-
Rethinking State Management - Why XState is a Game-Changer for Developers
In this article, I want to share a personal journey of discovery in the world of state management. My path led me to XState, a tool that I believe is the best choice for managing state in modern applications like React, Angular, Vue, and others. This isn't just a professional advice; it's a personal recommendation based on real-world experience.
-
Get out of state management hell with automatic revalidation
You add the current user state to a React Context or state management library, read from it on the top bar, and write to it after a user signs in. Done. No big deal, right?
- Como encontrar tema de tcc em ciência da computação?
- Sequence diagrams, the only good thing UML brought to software development
-
Scalability: the Lost Level of React State Management
Lastly, I know that I've omitted many great tools like XState, React Query, and SWR. These tools are utilities that are very scalable in their own right, but aren't full replacements for a good state manager.
- JavaScript State Machines and Statecharts
What are some alternatives?
yieldmachine - Components for State Machines, using Generator Functions
redux - A JS library for predictable global state management
devtools - Replay.io DevTools
jssm - Fast, easy Javascript finite state machines with visualizations; enjoy a one liner FSM instead of pages. MIT; Typescripted; 100% test coverage. Implements the FSL language.
vuex - 🗃️ Centralized State Management for Vue.js.
ringpop-go - Scalable, fault-tolerant application-layer sharding for Go applications
Dn-FamiTra
downshift 🏎 - 🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.
rfcs - RFCs for XState and Stately tools
zustand - 🐻 Bear necessities for state management in React
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.
awesome-workflow-engines - A curated list of awesome open source workflow engines