-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Zustand Proof of Concept #802
base: trunk
Are you sure you want to change the base?
Conversation
I just recalled that I am using Zustand on https://ggwp.team/ 😄 The PoC looks cool, thanks for preparing it 👍 As I said on our weekly - I am a fan of MobX, it's classic, simple and stable solution. Also I tested it in action on big projects. |
I played around with this some more and stand by my conclusion that Zustand isn't the best choice here. MobX is more flexible in defining stores, which I think will benefit us by requiring less mental overhead if we adopt commonsensical conventions like stores being classes with properties and methods. With Zustand, we can accomplish the same thing, but the store code is less readable because I spent some time creating two equivalent stores based on A few initial observations:
Having thought about this for a few more days since our hangout on Monday, Redux is also still floating around my head as a potential contender—both because of its familiarity and because I don't think it'd be controversial in the same way that MobX or Zustand could potentially be. |
Yep! Redux is kind of the de facto library in mature software. Maybe a P2 could bring some light about others using a different library. |
This implementation could potentially be improved, but for comparison, here's a Redux version. As pragmatic a choice as Redux may be, I can't help but recoil slightly when comparing them side by side like this because of the added complexity and overhead that Redux brings. I'm not saying it's the wrong choice, but still… |
Note
This PR is not meant to be merged. It's just an exploration.
Related issues
Proposed Changes
Testing Instructions
Pre-merge Checklist