on master help sign in
fix: allow initialState in useSetState
commit4da98a74fcdb87ee8cbbb351d3d8a2c1fd7217c9 authorMatt Condon (shrugs) <mattgcondon@gmail.com> dateWed 26 Jun 2019, 10:27 (7 years ago) parent8c0ecaa
1 file changed+6−5
src/lib/useSetState.js+6−5
src/lib/useSetState.js+6−5
@@ -1,15 +1,16 @@
11import { useCallback, useState } from 'react';
22
3−const kEmptyObject = {};
4−
5−export default function useSetState() {
6− const [state, _setState] = useState(kEmptyObject);
3+export default function useSetState(initialState = {}) {
4+ const [state, _setState] = useState(initialState);
75 const setState = useCallback(
86 items => _setState(state => ({ ...state, ...items })),
97 [_setState]
108 );
119
12− const reset = useCallback(() => _setState(kEmptyObject), [_setState]);
10+ const reset = useCallback(() => _setState(initialState), [
11+ _setState,
12+ initialState,
13+ ]);
1314
1415 return [state, setState, reset];
1516}