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

useLatest

SebelumnyaBerikutnya

Nilai terbaru di dalam closure. Di Vue tidak perlu apa pun — setup() berjalan sekali.

Terbaca: —

Ubah teksnya setelah menekan tombol — yang terbaca tetap yang terbaru.

Tidak ada yang perlu dipasang.

Vue sudah menyediakan padanannya — variabel biasa di setup(). Halaman ini menjelaskan cara memakainya.

setup() berjalan sekali. Variabel yang dideklarasikan di dalamnya lahir sekali pula, dan fungsi apa pun yang menangkapnya akan selalu membaca nilai terbarunya — tidak ada salinan basi yang perlu disegarkan.

ts
const pesan = ref('halo')

// Dijadwalkan sekarang, dibaca nanti. Yang terbaca tetap nilai terbaru.
setTimeout(() => console.log(pesan.value), 1500)

Itu sebabnya useEventListener di Kliping memanggil handler-nya langsung, tanpa penampung apa pun:

ts
useEventListener('resize', () => hitungUlang(lebar.value))

Kalau yang Anda cari adalah nilai sebelumnya, itu hal yang berbeda dan memang butuh composable: usePrevious.

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