UNPKG

@jay19950328/react-hooks

Version:
23 lines (19 loc) 604 B
import React from 'react'; function useStateCb(value) { var _React$useState = React.useState(value), state = _React$useState[0], setState = _React$useState[1]; var callbackRef = React.useRef(null); var setStateWithCallback = React.useCallback(function (newValue, callback) { callbackRef.current = callback || null; setState(newValue); }, []); React.useEffect(function () { if (callbackRef.current) { callbackRef.current(); callbackRef.current = null; } }, [callbackRef.current]); return [state, setStateWithCallback]; } export default useStateCb;