useLazyFetch
이 useFetch의 래퍼는 즉시 네비게이션을 트리거합니다.
Description
기본적으로, useFetch
는 비동기 핸들러가 해결될 때까지 네비게이션을 차단합니다. useLazyFetch
는 lazy
옵션을 true
로 설정하여 핸들러가 해결되기 전에 네비게이션을 트리거하는 useFetch
의 래퍼를 제공합니다.
useLazyFetch
는 useFetch
와 동일한 시그니처를 가지고 있습니다.
이 모드에서 useLazyFetch
를 기다리는 것은 호출이 초기화됨을 보장할 뿐입니다. 클라이언트 측 네비게이션에서는 데이터가 즉시 사용 가능하지 않을 수 있으며, 앱에서 대기 상태를 처리해야 합니다.
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
로 명명해서는 안 됩니다.
※이 페이지는 Nuxt.js 공식 문서의 비공식 번역 페이지입니다.
공식 문서의 해당 페이지는 여기 있습니다:
https://nuxt.com/docs/3.x/api/composables/use-lazy-fetch