UNPKG

@modern-kit/react

Version:
23 lines (19 loc) 677 B
'use strict'; var React = require('react'); var utils = require('@modern-kit/utils'); function useConditionalEffect(effectCallback, deps, condition) { const prevDeps = React.useRef(void 0); const signal = React.useRef(0); const shouldRunEffect = utils.isFunction(condition) ? condition(prevDeps.current, deps) : condition; React.useEffect( () => { if (!shouldRunEffect) return; return effectCallback(); }, // eslint-disable-next-line react-hooks/exhaustive-deps [shouldRunEffect ? ++signal.current : signal.current] ); prevDeps.current = deps; } exports.useConditionalEffect = useConditionalEffect; //# sourceMappingURL=index.cjs.map