UNPKG

@mskcc/carbon-react

Version:

Carbon react components for the MSKCC DSM

32 lines (26 loc) 704 B
/** * MSKCC 2021, 2024 */ 'use strict'; 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;