UNPKG

@lesnoypudge/utils-react

Version:

lesnoypudge's utils-react

29 lines (28 loc) 762 B
import { shallowEqual } from "@lesnoypudge/utils"; import { useRef, useEffect } from "react"; const getDiff = (prev, next) => { const diff = [...Object.keys(prev), ...Object.keys(next)].reduce((acc, cur) => { if (next[cur] !== prev[cur]) { acc[cur] = next[cur]; } return acc; }, {}); return diff; }; const usePropsChange = (props) => { const prevRef = useRef(); useEffect(() => { if (prevRef.current === void 0) { prevRef.current = props; return; } const diff = getDiff(prevRef.current, props); const isEqual = shallowEqual(prevRef.current, props); !isEqual && console.log("diff is:", diff); prevRef.current = props; }); }; export { usePropsChange }; //# sourceMappingURL=usePropsChange.js.map