tdesign-react
Version:
TDesign Component for React
30 lines (26 loc) • 751 B
JavaScript
/**
* tdesign v1.16.2
* (c) 2025 tdesign
* @license MIT
*/
import { useRef, useEffect } from 'react';
import { isEqualWith } from 'lodash-es';
function useDeepEffect(effect, deps) {
var isInitial = useRef(true);
var prevDeps = useRef(deps);
useEffect(function () {
var isSame = isEqualWith(prevDeps.current, deps, function (value1, value2) {
if (typeof value1 === "function" && typeof value2 === "function") {
return value1.toString() === value2.toString();
}
return void 0;
});
if (isInitial.current || !isSame) {
effect();
}
isInitial.current = false;
prevDeps.current = deps;
}, [effect, deps]);
}
export { useDeepEffect as default };
//# sourceMappingURL=useDeepEffect.js.map