kliping.pro
  • Docs
  • Directory
  • Colors
  • Typeset
Hooks
  • State7
  • Advanced6
  • Lifecycle16
    • useDebounceEffect
    • useDebounceFn
    • useDeepCompareEffect
    • useDeepCompareLayoutEffect
    • useEffectEvent
    • useEffectWithTarget
    • useInterval
    • useIsHydrated
    • useIsomorphicLayoutEffect
    • useMount
    • useThrottleEffect
    • useThrottleFn
    • useTimeout
    • useUnmount
    • useUpdate
    • useUpdateEffect
  • Browser21
  • Development1
  • Third-Party4
  • Libraries4

useEffectEvent

PreviousNext

Membaca nilai terbaru dari dalam efek tanpa memasang ulang efeknya.

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.

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