shelving
Version:
Toolkit for using data in JavaScript.
13 lines (12 loc) • 439 B
JavaScript
import { isArrayEqual } from "../util/equal.js";
import { getLazy } from "../util/lazy.js";
import { useProps } from "./useProps.js";
export function useLazy(value, ...args) {
const internals = useProps();
// Update `internals` if `args` changes.
if (!internals.args || !isArrayEqual(args, internals.args)) {
internals.value = getLazy(value, ...args);
internals.args = args;
}
return internals.value;
}