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

useQuery

SebelumnyaBerikutnya

Padanan Vue-nya sudah ada dan resmi: @tanstack/vue-query.

Tidak ada yang perlu dipasang.

Vue sudah menyediakan padanannya — @tanstack/vue-query. Halaman ini menjelaskan cara memakainya.

Cache, revalidasi, dedupe permintaan, dan status pending/error untuk pengambilan data. Registry ini tidak mengirim apa pun untuk itu, karena TanStack sudah merawat adapter Vue-nya sendiri.

bash
npm i @tanstack/vue-query
ts
import { useQuery } from '@tanstack/vue-query'

const { data, isPending, error } = useQuery({
  queryKey: ['produk'],
  queryFn: () => fetch('/api/produk').then(r => r.json()),
})

Yang dikembalikan sudah berupa ref, jadi langsung bisa dipakai di template tanpa pembungkus apa pun.

queryKey juga boleh berisi ref — begitu nilainya berubah, permintaannya dijalankan ulang sendiri:

ts
const halaman = ref(1)

const { data } = useQuery({
  queryKey: ['produk', halaman],
  queryFn: () => fetch(`/api/produk?hal=${halaman.value}`).then(r => r.json()),
})

Menyalin ulang pembungkusnya ke sini cuma menambah satu lapisan yang harus dijaga tetap sejalan dengan paket aslinya — dan yang akan tertinggal versi tiap kali paketnya naik.

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