UNPKG

@rozhkov/react-useful-hooks

Version:
17 lines (16 loc) 531 B
import { useRef } from 'react'; import usePrevious from './usePrevious'; import useIsFirstRender from './useIsFirstRender'; const defaultCompare = (v1, v2) => v1 === v2; const useChangeCounter = (value, compare = defaultCompare) => { const isFirstRender = useIsFirstRender(); const counterRef = useRef(0); const prev = usePrevious(value); if (!isFirstRender) { if (!compare(prev, value)) { ++counterRef.current; } } return counterRef.current; }; export default useChangeCounter;