@mic-rexjs/usecases-react
Version:
React-based solution for use usecases of Clean Architecture
12 lines (11 loc) • 416 B
JavaScript
import { useRef } from 'react';
import { isSameArray } from '../../methods/isSameArray';
export const useCompareDeps = (deps) => {
const updateTimesRef = useRef(0);
const prevDepsRef = useRef([]);
const { current: prevDeps } = prevDepsRef;
const isSame = isSameArray(deps, prevDeps);
prevDepsRef.current = deps;
updateTimesRef.current += isSame ? 0 : 1;
return updateTimesRef.current;
};