use-hook-kits
Version:
  
23 lines (17 loc) • 485 B
JavaScript
import React from "react";
import {isEqual} from "lodash";
export function checkDeps(deps, name) {
const reactHookName = `React.${name.replace(/Deep/, "")}`;
if (!deps || deps.length === 0) {
throw new Error(
`${name} should not be used with no dependencies. Use ${reactHookName} instead.`
);
}
}
export function useDeepMemoize(value) {
const ref = React.useRef([]);
if (!isEqual(value, ref.current)) {
ref.current = value;
}
return ref.current;
}