on 703ff86 help sign in
bridge/src/lib/useSetState.js
16 lines 458 B history raw
1import { useCallback, useRef, useState } from 'react';
3export default function useSetState(initialState = {}) {
4 const initialStateRef = useRef(initialState);
5 const [state, _setState] = useState(initialState);
6 const setState = useCallback(
7 items => _setState(state => ({ ...state, ...items })),
8 [_setState]
9 );
11 const reset = useCallback(() => _setState(initialStateRef.current), [
12 _setState,
13 ]);
15 return [state, setState, reset];