UNPKG

ahooks

Version:
15 lines (14 loc) 626 B
import { useRef, useState } from 'react'; import { isFunction } from '../utils'; import useMemoizedFn from '../useMemoizedFn'; import useCreation from '../useCreation'; 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;