A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Name | Repo | Stars | DLs | API | Notes | |||||||||||||||||||
2 | redux-react-hook | facebookincubator/redux-react-hook | 1392 | 8563 | const {canDelete, name} = useMappedState(mapState); const dispatch = useDispatch(); // Note that we pass the index as a dependency parameter -- this causes // useCallback to return the same function every time unless index changes. const mapState = useCallback(state => state.todos[index], [index]); const todo = useMappedState(mapState); | Investigate use of multiple useMappedState calls: https://github.com/facebookincubator/redux-react-hook/issues/12 Equivalent for `ownProps`: https://github.com/facebookincubator/redux-react-hook/issues/14 High level API discussion: do we even need useMappedState? https://github.com/facebookincubator/redux-react-hook/issues/39 | |||||||||||||||||||
3 | easy-peasy | ctrlplusb/easy-peasy | 1432 | 2255 | useStore(mapState, externals) const totalPrice = useStore(state => state.basket.totalPrice); const addTodo = useActions(actions => actions.todos.add); const dispatch = useDispatch(); | Temp hack for working around "stale props" issue - catch errors in mapState, wait 200ms, only throw error if not unmounted: https://github.com/ctrlplusb/easy-peasy/pull/138 | |||||||||||||||||||
4 | @epeli/redux-hooks | epeli/redux-hooks | 89 | 843 | useMapState() // Renders when returned value differ using Object.is() check useSelect() // Renders when returned value differ using shallow equal check useActionCreators() // Bind object of action creators to dispatch useDispatch() // Returns the plain dispatch-function usePassiveMapState() // Like useMapState() but does not subscribe to the store eg. is executed only when the component renders. | TS | |||||||||||||||||||
5 | use-redux | flepretre/use-redux | 54 | 303 | const [ state, dispatch ] = useRedux(); const [ v1, v2, a1, a2 ] = useRedux([v1Selector, v2Selector], [a1Creator, a2Creator]); const [ v1, v2 ] = useSelectors(v1Selector, v2Selector); const [ set, reset ] = useActionCreators(setCreator, resetCreator); | ||||||||||||||||||||
6 | reactive-react-redux | dai-shi/reactive-react-redux | 135 | 129 | const state = useReduxState(); const dispatch = useReduxDispatch(); | Proxy-based - tracks state access via Proxies to try to optimize updates | |||||||||||||||||||
7 | @nvd/use-redux | nickvdyck/use-redux | 0 | 112 | |||||||||||||||||||||
8 | react-use-dux | richardpj/react-use-dux | 3 | 94 | |||||||||||||||||||||
9 | react-hooks-redux | ymzuiku/react-hooks-redux | 14 | 90 | |||||||||||||||||||||
10 | redux-bundler-hook | abuinitski/redux-bundler-hook | 7 | 77 | |||||||||||||||||||||
11 | use-substate | philipp-spiess/use-substate | 83 | 76 | |||||||||||||||||||||
12 | use-restate | animify/useRestate | 7 | 51 | |||||||||||||||||||||
13 | redux-react-hooks | GarethSmall/react-redux-hooks | 1 | 46 | |||||||||||||||||||||
14 | @redux-up/hooks | takion/redux-up-hooks | 0 | 45 | |||||||||||||||||||||
15 | react-glue-redux-hook | ZhouYK/react-glue-redux-hook | 0 | 29 | |||||||||||||||||||||
16 | react-use-redux | martynaskadisa/react-use-redux | 26 | 27 | |||||||||||||||||||||
17 | redux-hooks | gretzky/redux-hooks | 1 | 20 | |||||||||||||||||||||
18 | react-redux-hooks | jessy1092/react-redux-hooks | 8 | 15 | |||||||||||||||||||||
19 | redoox | jake-daniels/redoox | 9 | 14 | |||||||||||||||||||||
20 | @gostgroup/use-redux | gostgroup/use-redux | 5 | 11 | |||||||||||||||||||||
21 | hux | DzoQiEuoi/hux | 3 | 10 | |||||||||||||||||||||
22 | use-redux-store | fbarrailla/use-redux-store | 1 | 10 | |||||||||||||||||||||
23 | redux-hooked | Bhoos/redux-hooked | 0 | 10 | |||||||||||||||||||||
24 | use-connect | dancerphil/use-connect | 1 | 9 | |||||||||||||||||||||
25 | redux-hooker | linde12/redux-hooker | 0 | 9 | |||||||||||||||||||||
26 | react-state-tree | suchipi/react-state-tree | 67 | 8 | |||||||||||||||||||||
27 | react-reduckx | phixo/react-reduckx | 1 | 5 | |||||||||||||||||||||
28 | react-redux-peach | borvelt/react-redux-peach | 5 | 4 | |||||||||||||||||||||
29 | rrh | brn/rrh | 8 | 6 | |||||||||||||||||||||
30 | useReduxState | JesseChrestler - sandbox | 0 | 0 | |||||||||||||||||||||
31 | useReduxFactory | baetheus - gist | |||||||||||||||||||||||
32 | |||||||||||||||||||||||||
33 | |||||||||||||||||||||||||
34 | |||||||||||||||||||||||||
35 | |||||||||||||||||||||||||
36 | |||||||||||||||||||||||||
37 | |||||||||||||||||||||||||
38 | |||||||||||||||||||||||||
39 | |||||||||||||||||||||||||
40 | |||||||||||||||||||||||||
41 | |||||||||||||||||||||||||
42 | |||||||||||||||||||||||||
43 | |||||||||||||||||||||||||
44 | |||||||||||||||||||||||||
45 | |||||||||||||||||||||||||
46 | |||||||||||||||||||||||||
47 | |||||||||||||||||||||||||
48 | |||||||||||||||||||||||||
49 | |||||||||||||||||||||||||
50 | |||||||||||||||||||||||||
51 | |||||||||||||||||||||||||
52 | |||||||||||||||||||||||||
53 | |||||||||||||||||||||||||
54 | |||||||||||||||||||||||||
55 | |||||||||||||||||||||||||
56 | |||||||||||||||||||||||||
57 | |||||||||||||||||||||||||
58 | |||||||||||||||||||||||||
59 | |||||||||||||||||||||||||
60 | |||||||||||||||||||||||||
61 | |||||||||||||||||||||||||
62 | |||||||||||||||||||||||||
63 | |||||||||||||||||||||||||
64 | |||||||||||||||||||||||||
65 | |||||||||||||||||||||||||
66 | |||||||||||||||||||||||||
67 | |||||||||||||||||||||||||
68 | |||||||||||||||||||||||||
69 | |||||||||||||||||||||||||
70 | |||||||||||||||||||||||||
71 | |||||||||||||||||||||||||
72 | |||||||||||||||||||||||||
73 | |||||||||||||||||||||||||
74 | |||||||||||||||||||||||||
75 | |||||||||||||||||||||||||
76 | |||||||||||||||||||||||||
77 | |||||||||||||||||||||||||
78 | |||||||||||||||||||||||||
79 | |||||||||||||||||||||||||
80 | |||||||||||||||||||||||||
81 | |||||||||||||||||||||||||
82 | |||||||||||||||||||||||||
83 | |||||||||||||||||||||||||
84 | |||||||||||||||||||||||||
85 | |||||||||||||||||||||||||
86 | |||||||||||||||||||||||||
87 | |||||||||||||||||||||||||
88 | |||||||||||||||||||||||||
89 | |||||||||||||||||||||||||
90 | |||||||||||||||||||||||||
91 | |||||||||||||||||||||||||
92 | |||||||||||||||||||||||||
93 | |||||||||||||||||||||||||
94 | |||||||||||||||||||||||||
95 | |||||||||||||||||||||||||
96 | |||||||||||||||||||||||||
97 | |||||||||||||||||||||||||
98 | |||||||||||||||||||||||||
99 | |||||||||||||||||||||||||
100 |