|28 days ago||2 days ago|
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.
The simplest React state manager now at stable release
6 projects | news.ycombinator.com | 20 Apr 2021
What unpopular webdev opinions do you have?
9 projects | reddit.com/r/webdev | 26 Sep 2022
It got much better with the introduction of React hooks. No more having map your state to props and all that junk. And the react-redux team released something called redux toolkit, which I have yet to use, but it looks like it greatly reduces boiler plate code
2022: Best State management libraries in React JS
3 projects | dev.to | 13 Sep 2022
Redux Toolkit: https://redux-toolkit.js.org/
I am sick and tired of react-redux. Who has some good alternatives?
if you are already using redux there is very little incentive to switch unless you have a really great reason. just stick with redux-toolkit like others mentioned. https://redux-toolkit.js.org/
Maybe it's just me, but I've clicked on that not realizing that https://redux.js.org/ and https://redux-toolkit.js.org/ are completely different sites with different sidebar links. If you are new to Redux and don't know that this distinction exists, it may be hard to navigate and understand what's relevant.
2 projects | reddit.com/r/reactjs | 3 Sep 2022
[AskJS] What are some of your favorite dev tools/libraries for React?
TypeScript is terrible for library developers
Agreed. I spend a decent amount of time in the redux world so `redux-toolkit` is a decent example. To be clear, they do a fantastic job with types, but the level of complexity is pretty startling.
There's one example but the entire codebase is riddled with complex types.
Did you miss this example from the linked post about redux-toolkit? https://github.com/reduxjs/redux-toolkit/blob/4ab8c42cb20ae1...
This is what types look like when you're on the library side. The post made very clear they aren't talking about the app dev side.
Heh, it's amusing to see Redux Toolkit referenced here. I'm one of the two main RTK maintainers. My co-maintainer Lenz Weber is responsible for most of our TS type wizardry.
Agreed that writing TS types for libs can be a pain. I actually did a talk recently on "Lessons Learned Maintaining TS Libraries" , where I talked about some of the techniques we used, and some possible TS changes that would be helpful for us as maintainers.
As one recent example, TS made a change in a 4.8 pre-alpha that broke RTK's `createSlice` types. Lenz tried to come up with a fix, couldn't, and had to add a workaround to check what TS version is being used and specifically use an altered type. Since there _isn't_ a good way to know what TS version is being used, Lenz resorted to hacking together a new package that abuses the `typesVersions` property to define a different TS type for _every_ TS major+minor version combo, and then used that to decide what the RTK type should look like conditionally .
Another pain point is debugging type transformations. I reworked the Reselect types in 4.1.x to do a much better job of inferring the argument types for the final selector, based on the intersection of all the input selector arguments. This ended up as a monstrous type that does a types-level map + transpose + intersection . It took me weeks to get this working right, and I frequently had to break it down into multiple small intermediate types to see how TS was processing each step.
I know that someone on Twitter was recently working on an alternate TS type-checker based on bytecode, and they said they had some kind of a working types-level debugger . Having something like that officially, where I could see each step of how TS was transforming the types, would be _hugely_ valuable.
There's a couple folks like AndaristRake who are able to dig into the internals of the TS compiler itself to trace how it's interpreting the types. I definitely don't have that ability :)
What are some alternatives?
redux-saga - An alternative side effect model for Redux apps
redux-thunk - Thunk middleware for Redux
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]
next-redux-wrapper - Redux wrapper for Next.js
vite - Next generation frontend tooling. It's fast!
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.
Immer - Create the next immutable state by mutating the current one
ducks-modular-redux - A proposal for bundling reducers, action types and actions when using Redux
SWR - React Hooks for Data Fetching
react-clean-architecture - A realistic approach to implement clean architecture on react codebases