redux
xstate
Our great sponsors
redux | xstate | |
---|---|---|
186 | 31 | |
58,273 | 20,606 | |
0.3% | 2.4% | |
9.0 | 9.8 | |
5 days ago | 4 days ago | |
TypeScript | TypeScript | |
MIT License | 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
-
What is XState used for?
replace global state managers like Redux or Vuex
-
Redux Best Practices
Redux is a library used for global state management, meaning if you have a piece of state that you want to access in different places of your app, you can use Redux to manage that state and make it easily accessible anywhere. The global state can be anything from logged-in user information to UI state such as theme, etc.
-
How to use React with Redux
Now go ahead and import createSlice from the same library and create a reducer with it. createSlice is a wrapper around the old API from redux which reduces quite some boilerplate when creating reducers.
-
Prevent Acid Redux with Redux Toolkit
This post is going to help you get rid of the acid Redux associated with trying to use vanilla Redux.
- React - Clean Architecture - Redux Toolkit
-
Tech Explained - a low-level primer on frontend technology
Redux Docs
-
Implement state in React using Redux Toolkit (easy way🔥)
Redux is a library for managing and updating application state using events called actions. It serves as a centralized store for state, that needs to be used across your entire application(instead of props drilling), with rules ensuring that the state can only be updated in a predictable fashion.
-
Introduction of React Context
By using React Context, we make our code ma lot more concise. Which also eliminates the props drilling problem. Aside from React context, there are also another options available like Redux or MobX which is a global state management.
-
Why Is Front-End Development So Unstable? (2018)
> > I maintain my 2017 apps including major version bumps with no issues today
> Sorry but I have to call bullshit on that, unless you’re taking about tiny one page “apps”
What a strange stance. It's a React/MobX collaborative model editing internal tool deployed in production to users who generate and analyze models with it. It started on Webpack 2 and React 15 and MobX 4, now it's on Webpack 5 and React 17 and MobX 6. I of course had to update some babel configurations but it was much more version bumping than configuration rebuilding. It still uses decorators and looks like complete dog-shit, and that's my point: the same tricks and patterns available then are not only there, but working identically now.
Re: native, I don't believe in React Native or any webview-based "native" replacement anyways, but it's easy to do this as my user-base is interacting with this app from their company-provided laptops anyways. I would willingly concede React Native is an environment with churn, I don't really recall RN every reaching meaningful stability
> Redux is dead in the water
https://www.npmjs.com/package/redux shows 7M downloads weekly
https://www.npmjs.com/package/react-redux shows 5M
https://www.npmjs.com/package/@reduxjs/toolkit shows 1.5M
MobX / MobX React are around 1M/700k
Your list of "flummox / redux / unstated / mobx / mobx-state-tree / xstate / apollo / apollo-link-state / swr / react-query / zustand / recoil / jotai" seems to peak at 500k with the exception of "react-query", which I don't really see as applicable to a conversation about state management, and perfectly illustrates my point that there's new stuff but you don't need to know it
> you say it’s #1, but Redux is dead in the water
I never personally believed in Redux, it struck me as a terrible pattern from the start, thus why I selected MobX; but I find it difficult to believe that you really think React Context scales the same way building an external state management tree does. I like React Context, but it doesn't do a very good job of hiding away complexity from the developer as the application grows. Not to mention it does no render-optimization for you.
Again, I'm not saying things don't change or that there's not alternatives, but I am saying that someone who learned fundamentals in 2017 is still able to get up-to-speed in the updated versions of the library kings of 2017 in virtually no time, and deliver standard-fare webapps. I say this because I've worked at the same place for over 5 years, I use the same tools, and my users regularly are telling me the tools my team puts in front of them are the gold standard. The churn is long gone, everything you describe would have perfect analogues in any other popular modern language / library ecosystem.
-
Surprising Performance Lessons from React Microfrontends in Production
Use of global state management libraries e.g. Redux, MobX and XState.
xstate
-
Recreate iPod state machine with XState and Vue 3
I guess there is no need to persuade any longer! For more info check the official docs
-
What is a really cool thing you would want to write in Rust but don't have enough time, energy or bravery for?
A client for XState, with a full DSL system via macro.
-
Heartbeat: Cracking React, XState & PusherJS Communication
So I turned to google to see if anyone else was having this issue, and discovered a few interesting posts including these two: How should a machine interact with websocket? and XState Websocket Machine.
-
What is an actual difference between redux and a state machine (e.g. xstate)?
Redux is an option for us, but one of the developers proposed using a state-machine based library, in particular the xstate library.
-
He’s not wrong
For context - He wrote xstate, one of the more complex typescript projects out there. I have been using the lib as of late and was pretty surprised that he was able to get the typing to work everywhere. I am still having a hard time understanding how the generics work inside the project (and sadly have been using any’s in a lot of places) but still quite impressed that the entire library is typesafe. I think he is in the position to make this joke!
-
I'm starting to get the hang of programming, and can finish any project so far, here's my secret
XState / XState React
XState / [XState React](https://xstate.js.org/docs/packages/xstate-react/
-
Máquinas de Estado
Algúnos frameworks en Javascript para el manejo de máquinas de estádo son: -Machina -Javascript State Machine -Xstate Mi preferido.
-
Preferred state management library with Next.js?
I use xstate (https://xstate.js.org/docs/). It is based on finite state machines. It is quite enjoyable to use when you get some experience with it. I would say It is much more reliable than redux for example because it eliminates usage of booleans.
-
How to use React useReducer hook like a pro
There's also a lot of libraries offering opinionated ways to manage your entire (or part of) state, like Redux, Mobx, Recoil or XState.
What are some alternatives?
zustand - 🐻 Bear necessities for state management in React
react-query - 🤖 Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]
valtio - 💊 Valtio makes proxy-state simple for React and Vanilla
SWR - React Hooks for Data Fetching
redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development
effector-react - Business logic with ease ☄️
swift-composable-architecture - A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
Recoil - Recoil is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.
reflux - A simple library for uni-directional dataflow application architecture with React extensions inspired by Flux
kea - Production Ready State Management for React
cerebral - Declarative state and side effects management for popular JavaScript frameworks
fluxible - A pluggable container for universal flux applications.