astro-ecommerce/hooks/tools/useEffectOnlyOnUpdate.tsx
2025-01-16 06:13:29 +01:00

18 lines
416 B
TypeScript

/* eslint-disable react-hooks/exhaustive-deps */
import { DependencyList, useEffect, useRef } from 'react';
export const useEffectOnlyOnUpdate = (
callback: (deps: DependencyList) => void,
dependencies: DependencyList
) => {
const didMount = useRef(false);
useEffect(() => {
if (didMount.current) {
callback(dependencies);
} else {
didMount.current = true;
}
}, dependencies);
};