on master help sign in
fix: allow initialState in useSetState
4da98a7Matt Condon (shrugs)
src/lib/useSetState.js+6−5
@@ -1,15 +1,16 @@
1import { useCallback, useState } from 'react';
1import { useCallback, useState } from 'react';
2
2
3−const kEmptyObject = {};
4−
5−export default function useSetState() {
3+export default function useSetState(initialState = {}) {
6− const [state, _setState] = useState(kEmptyObject);
4+ const [state, _setState] = useState(initialState);
7 const setState = useCallback(
5 const setState = useCallback(
8 items => _setState(state => ({ ...state, ...items })),
6 items => _setState(state => ({ ...state, ...items })),
9 [_setState]
7 [_setState]
10 );
8 );
11
9
12− const reset = useCallback(() => _setState(kEmptyObject), [_setState]);
10+ const reset = useCallback(() => _setState(initialState), [
11+ _setState,
12+ initialState,
13+ ]);
13
14
14 return [state, setState, reset];
15 return [state, setState, reset];
15}
16}