963 markdown files reformatted with the repository's pinned prettier so pnpm format:check covers the folded tree like every other repo file. The formatter's embedded-language pass also normalized code fences (TS semicolons, closed HTML tags in examples, lowercased CSS hex colors, one renumbered list that skipped an index). Alphanumeric token deltas vs the fold commit were audited file-by-file; all are formatter-equivalent markup normalizations plus the four sanitized skills.
973 B
973 B
category
| category |
|---|
| Utilities |
useCached
Cache a ref with a custom comparator.
Usage
import { useCached } from '@vueuse/core';
import { shallowRef } from 'vue';
interface Data {
value: number;
extra: number;
}
const source = shallowRef<Data>({ value: 42, extra: 0 });
const cached = useCached(source, (a, b) => a.value === b.value);
source.value = {
value: 42,
extra: 1,
};
console.log(cached.value); // { value: 42, extra: 0 }
source.value = {
value: 43,
extra: 1,
};
console.log(cached.value); // { value: 43, extra: 1 }
Type Declarations
export interface UseCachedOptions<D extends boolean = true>
extends ConfigurableDeepRefs<D>, WatchOptions {}
export declare function useCached<T, D extends boolean = true>(
refValue: Ref<T>,
comparator?: (a: T, b: T) => boolean,
options?: UseCachedOptions<D>,
): UseCachedReturn<T, D>;
export type UseCachedReturn<T = any, D extends boolean = true> = ShallowOrDeepRef<T, D>;