-
-
Notifications
You must be signed in to change notification settings - Fork 71
Closed
Description
Context value | Using subscriptions | Optimization for rendering big object | Dependencies | Package size | |
---|---|---|---|---|---|
react-tracked | state-based object | Yes *1 | Proxy-based tracking | No | 1.5kB |
constate | state-based object | No | No (should use multiple contexts) | No | 329B |
unstated-next | state-based object | No | No (should use multiple contexts) | No | 362B |
zustand | N/A | Yes | Selector function | No | 742B |
react-sweet-state | state-based object | Yes *3 | Selector function | No | 4.5kB |
storeon | store | Yes | state names | No | 337B |
react-hooks-global-state | state object | No *2 | state names | No | 913B |
react-redux (hooks) | store | Yes | Selector function | Redux | 5.6kB |
reactive-react-redux | state-based object | Yes *1 | Proxy-based tracking | Redux | 1.4kB |
easy-peasy | store | Yes | Selector function | Redux, immer, and so on | 9.5kB |
mobx-react-lite | mutable state object | No *4 | Proxy-based tracking | MobX | 1.7kB |
hookstate | N/A | Yes | Proxy-based tracking | No | 2.6kB |
- *1 Stops context propagation by
calculateChangedBits=0
- *2 Uses
observedBits
- *3 Hack with readContext
- *4 Mutation trapped by Proxy triggers re-render
transitive-bullshit
Metadata
Metadata
Assignees
Labels
No labels