Vue · Middle · Pytanie 57 z 75
Jak utworzyć ref aktualizowany z debounce?
function useDebouncedRef(value, delay = 300) {
let timer
return customRef((track, trigger) => ({
get() { track(); return value },
set(v) { clearTimeout(timer); timer = setTimeout(() => { value = v; trigger() }, delay) },
}))
}- ✓Poprawna odpowiedź: Przez
customRef, kontrolując, kiedy zależności są śledzone i wyzwalane - 2Przez
ref(value, { debounce: 300 }) - 3Refy zawsze aktualizują się synchronicznie i nie da się ich dostosować
Wyjaśnienie
customRef daje jawną kontrolę nad śledzeniem. Można go używać z v-model jak zwykłego refa.