Skip to content

useCached

使用自定义比较器缓存引用。

¥Cache a ref with a custom comparator.

示例

Value: 42
Extra: 0
Cached Value: 42
Cached Extra: 0

用法

¥Usage

ts
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 }
js
import { useCached } from '@vueuse/core'
import { shallowRef } from 'vue'
const source = shallowRef({ 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 }