Kliping
KlipingBerandaDokumentasiKomponenBlocksVariasiTemplateDice UIHooks
Memulai
  • Pengenalan
  • Instalasi
  • Kredit
State
  • useBoolean
  • useControllableValue
  • useCounter
  • useDebounce
  • useResetState
  • useThrottle
  • useToggle
Lanjutan
  • useCreation
  • useCustomCompareEffect
  • useLatest
  • useLockFn
  • useMemoizedFn
  • usePrevious
Siklus Hidup
  • useDebounceEffect
  • useDebounceFn
  • useDeepCompareEffect
  • useDeepCompareLayoutEffect
  • useEffectEvent
  • useEffectWithTarget
  • useInterval
  • useIsHydrated
  • useIsomorphicLayoutEffect
  • useMount
  • useThrottleEffect
  • useThrottleFn
  • useTimeout
  • useUnmount
  • useUpdate
  • useUpdateEffect
Peramban
  • useActiveElement
  • useBattery
  • useClickAnyWhere
  • useClickAway
  • useClipboard
  • useDocumentVisibility
  • useElementSize
  • useEventListener
  • useFps
  • useFullscreen
  • useHash
  • useHover
  • useInViewport
  • useIsMatchMedia
  • useIsOnline
  • useMouse
  • useNetwork
  • useOs
  • useScrollLock
  • useTextSelection
  • useTitle
Pengembangan
  • useWhyDidYouUpdate
Paket Luar
  • useMcp
  • useQuery
  • useStickToBottom
  • useSwr
Pustaka
  • isBrowser
  • createContext
  • bacaElemen
  • saatTerpasang

useEffectEvent

SebelumnyaBerikutnya

Membaca nilai terbaru dari dalam efek tanpa memasang ulang efeknya.

Terbaca tiap detik: — (0×)

Mengganti pesan tidak memasang ulang intervalnya — hitungannya terus berlanjut.

Tidak ada yang perlu dipasang.

Vue sudah menyediakan padanannya — tidak perlu. Halaman ini menjelaskan cara memakainya.

Masalah yang dipecahkan hook ini berasal dari daftar dependensi — dan Vue tidak punya daftar dependensi.

watch dan watchEffect melacak sendiri apa yang mereka baca, dan fungsi yang ditulis di setup() selalu membaca nilai terbaru. Jadi membaca sesuatu dari dalam efek tidak pernah memaksa efeknya dipasang ulang:

ts
const jeda = ref(1000)
const pesan = ref('halo')

// Intervalnya hanya dipasang ulang saat `jeda` berubah.
// `pesan` dibaca apa adanya, dan tidak berpengaruh sama sekali.
useInterval(() => kirim(pesan.value), jeda)

Kalau Anda memang ingin sesuatu memicu pemasangan ulang, cukup masukkan ke sumber yang dipantau:

ts
watch([jeda, pesan], pasangUlang)

Yang dipantau ditentukan oleh apa yang Anda tulis di sumbernya, bukan oleh apa yang kebetulan dibaca di dalam badannya.

useDeepCompareLayoutEffectuseEffectWithTarget
Dirilis di bawah lisensi MIT. Ditulis ulang untuk Vue dari shadcn-vue, shadcn-ui-blocks, dan shadcn-hooks. Hak cipta © 2026 Kliping