src/utils/hooks.js
import { useRef, useEffect } from "react";
import { isEqual } from "lodash";
function useDeepCompareMemoize(value) {
const ref = useRef();
if (!isEqual(value, ref.current)) {
ref.current = value;
}
return ref.current;
}
export function useDeepCompareEffect(callback, dependencies) {
// eslint-disable-next-line react-hooks/exhaustive-deps
useEffect(callback, useDeepCompareMemoize(dependencies));
}