redux-xstate-poc
vuex
Our great sponsors
redux-xstate-poc | vuex | |
---|---|---|
6 | 85 | |
89 | 28,361 | |
- | 0.1% | |
2.6 | 1.5 | |
over 2 years ago | 27 days ago | |
TypeScript | JavaScript | |
- | 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
vuex
-
How to Protect State in Pinia
Pinia is a relatively new state management tool for the Vue ecosystem. It is the new preferred state management tool recommended by the Vue core team replacing Vuex. Compared to Vuex, Pinia is type-safe by default (direct-vuex was needed to make Vuex type-safe), extremely lightweight, and modular by design (meaning you can create multiple stores instead of multiple modules inside one store, which optimises performance). Similar to Vuex, Pinia has state, computed properties (getters) and methods (mutations and actions). Read more about Pinia and its usage to understand the similarities and differences between Pinia and Vuex.
-
React or Vue, which JS framework is best?
Vue.js also offers built-in features like animation and state management through Vuex which serve a wide range of development needs.
-
Vue 3 vs Vue 2 so far? What's your opinion? Things I didn't like about Vue 3 compared to Vue 2
I really liked the idea of how all the core Vue libraries are maintained by Vue team themselves, making Vue feels like an all-in-one package instead of infinite npm install to add multiple community/personally maintained repos which often caused issues because they don't blend together. And now Pinia will be officially replacing Vuex, making me doubt if it'll be as reliable as Vuex.
-
A guide to Vue Lifecycle hooks.
Vuex: https://vuex.vuejs.org/
-
Which one is the favor?
Pinia. No discussion. Have you checked the Vuex website? It says Pinia is default. https://vuex.vuejs.org/
-
How to install and use Vuex4 in nuxtjs 3?
Vuex itself, tells you to not use it and use Pinia instead.
-
Why and how to create an Event Bus in Vuejs 3
Vuex is a state management library. At first glance it seems complicated, and in fact it is a bit. You can use Vuex to store data that should be used globally in your app. Vuex provides you with a solid API to apply changes to this data and reflect them in all child components that use Vuex data store.
-
Vuex: taking user input, adding and removing it from state
I encourage you to also go through Vuex's official documentation: https://vuex.vuejs.org/
-
global data vs emit
And in cases where you need globally available data, best to use Vuex, Pinia, or a composable
-
In One Minute : Vue.js
What makes Vue particularly powerful, however, is that it can be built upon, increasing its functionality from a simple view-model library to that of a fully fledged JavaScript framework capable of powering entire SPA's via supporting plugins and libraries such as Vue Router, Vue Resource, and Vuex.
What are some alternatives?
yieldmachine - Components for State Machines, using Generator Functions
pinia - 🍍 Intuitive, type safe, light and flexible Store for Vue using the composition api with DevTools support
devtools - Replay.io DevTools
vite - Next generation frontend tooling. It's fast!
Dn-FamiTra
ao-loot-logger-viewer - AO Loot Logger Viewer
rfcs - RFCs for XState and Stately tools
vueuse - Collection of essential Vue Composition Utilities for Vue 2 and 3
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.
vee-validate - ✅ Painless Vue forms
Dn-FamiTracker - modifications and improvements for 0CC-FamiTracker (based on j0CC-FamiTracker 0.6.3)
Express - Fast, unopinionated, minimalist web framework for node.