Files
Compass/web/hooks/use-effect-check-equality.ts
2025-08-27 21:30:05 +02:00

13 lines
353 B
TypeScript

import { isEqual } from 'lodash'
import { EffectCallback, useEffect, useRef } from 'react'
export const useEffectCheckEquality = (fn: EffectCallback, deps: any[]) => {
const depsRef = useRef<any[] | undefined>(undefined)
if (!depsRef.current || !isEqual(deps, depsRef.current)) {
depsRef.current = deps
}
useEffect(fn, depsRef.current)
}