@rozhkov/react-useful-hooks
Version:
Useful hooks for React application
13 lines (12 loc) • 458 B
JavaScript
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;