nuxt logo

문서 번역(비공식)

useLazyFetch

이 useFetch의 래퍼는 즉시 네비게이션을 트리거합니다.

Description

기본적으로, useFetch는 비동기 핸들러가 해결될 때까지 네비게이션을 차단합니다. useLazyFetchlazy 옵션을 true로 설정하여 핸들러가 해결되기 전에 네비게이션을 트리거하는 useFetch의 래퍼를 제공합니다.

useLazyFetchuseFetch와 동일한 시그니처를 가지고 있습니다.

이 모드에서 useLazyFetch를 기다리는 것은 호출이 초기화됨을 보장할 뿐입니다. 클라이언트 측 네비게이션에서는 데이터가 즉시 사용 가능하지 않을 수 있으며, 앱에서 대기 상태를 처리해야 합니다.

이것도 참고 api > composables > use-fetch

Example

pages/index.vue
<script setup lang="ts">
/* 네비게이션은 데이터 가져오기가 완료되기 전에 발생합니다.
 * 컴포넌트의 템플릿 내에서 'pending' 및 'error' 상태를 직접 처리하세요.
 */
const { status, data: posts } = await useLazyFetch('/api/posts')
watch(posts, (newPosts) => {
  // posts가 처음에는 null일 수 있기 때문에,
  // 즉시 그 내용을 사용할 수는 없지만, 이를 관찰할 수 있습니다.
})
</script>

<template>
  <div v-if="status === 'pending'">
    Loading ...
  </div>
  <div v-else>
    <div v-for="post in posts">
      <!-- do something -->
    </div>
  </div>
</template>

useLazyFetch는 컴파일러에 의해 변환되는 예약된 함수 이름이므로, 자신의 함수를 useLazyFetch로 명명해서는 안 됩니다.

이것도 참고 getting-started > data-fetching