Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork70
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
Metadata
Metadata
Assignees
Labels
No labels