Vue · Middle · Запитання 57 з 75
Як створити ref, що оновлюється з дебаунсом?
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) },
}))
}- ✓Правильна відповідь: Через
customRef, керуючи тим, коли відстежуються й запускаються залежності - 2Через
ref(value, { debounce: 300 }) - 3Refs завжди оновлюються синхронно й не налаштовуються
Пояснення
customRef дає явний контроль над відстеженням. Його можна використовувати з v-model, як звичайний ref.