@mskcc/carbon-react
Version:
Carbon react components for the MSKCC DSM
32 lines (26 loc) • 704 B
JavaScript
/**
* MSKCC 2021, 2024
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var React = require('react');
/**
* A custom hook which will call the given callback exactly once when your
* component is initially rendered and effects are first called
*
* @param {Function} callback
*/
function useEffectOnce(callback) {
const savedCallback = React.useRef(callback);
const effectGuard = React.useRef(false);
React.useEffect(() => {
savedCallback.current = callback;
});
React.useEffect(() => {
if (effectGuard.current !== true) {
effectGuard.current = true;
savedCallback.current();
}
}, []);
}
exports.useEffectOnce = useEffectOnce;