UNPKG

@rozhkov/react-useful-hooks

Version:
13 lines (12 loc) 458 B
import { useCallback, useRef, useState } from 'react'; import { EMPTY_ARRAY } from 'default-values'; function useStateRef(initialState) { const [state, setState] = useState(initialState); const ref = useRef(state); const dispatch = useCallback((val) => { ref.current = typeof val === 'function' ? val(ref.current) : val; setState(ref.current); }, EMPTY_ARRAY); return [state, dispatch, ref]; } export default useStateRef;