@jay19950328/react-hooks
Version:
23 lines (19 loc) • 604 B
JavaScript
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;