UNPKG

@rozhkov/react-useful-hooks

Version:
22 lines (21 loc) 843 B
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = require("react"); const usePrevious_1 = __importDefault(require("./usePrevious")); const useIsFirstRender_1 = __importDefault(require("./useIsFirstRender")); const defaultCompare = (v1, v2) => v1 === v2; const useChangeCounter = (value, compare = defaultCompare) => { const isFirstRender = (0, useIsFirstRender_1.default)(); const counterRef = (0, react_1.useRef)(0); const prev = (0, usePrevious_1.default)(value); if (!isFirstRender) { if (!compare(prev, value)) { ++counterRef.current; } } return counterRef.current; }; exports.default = useChangeCounter;