UNPKG

ahooks

Version:
15 lines (14 loc) • 638 B
import { useRef, useState } from 'react'; import useCreation from '../useCreation'; import useMemoizedFn from '../useMemoizedFn'; import { isFunction } from '../utils'; const useResetState = (initialState) => { const initialStateRef = useRef(initialState); const initialStateMemo = useCreation(() => isFunction(initialStateRef.current) ? initialStateRef.current() : initialStateRef.current, []); const [state, setState] = useState(() => initialStateMemo); const resetState = useMemoizedFn(() => { setState(() => initialStateMemo); }); return [state, setState, resetState]; }; export default useResetState;