tweak-tools
Version:
Tweak your React projects until awesomeness
19 lines (18 loc) • 679 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCompareMemoize = void 0;
const react_1 = require("react");
const lite_1 = require("dequal/lite");
const shallow_1 = __importDefault(require("zustand/shallow"));
function useCompareMemoize(value, deep) {
const ref = (0, react_1.useRef)();
const compare = deep ? lite_1.dequal : shallow_1.default;
if (!compare(value, ref.current)) {
ref.current = value;
}
return ref.current;
}
exports.useCompareMemoize = useCompareMemoize;