@razorpay/blade
Version:
The Design System that powers Razorpay
27 lines (23 loc) • 849 B
JavaScript
import { useRef, useEffect } from 'react';
/**
* Hook to run an effect on dependencies change after the component has *mounted*.
* Core difference from `useEffect` is this will trigger effects after the very first render.
*
* @param effectCallback `useEffect` callback
* @param dependencies `useEffect` dependencies
*/
var useDidUpdate = function useDidUpdate(effectCallback, dependencies) {
var isMounted = useRef(false);
useEffect(function () {
if (isMounted.current) {
// run normally after the very first render / mount
return effectCallback();
}
isMounted.current = true;
return undefined;
// we don't want to rerun every time effectCallback changes
// eslint-disable-next-line react-hooks/exhaustive-deps
}, dependencies);
};
export { useDidUpdate };
//# sourceMappingURL=useDidUpdate.js.map