nuxt Data fetching
nuxt 에서는 Data fetching(data 가져오기?) 를 제공한다. 이것은 nuxt lifecycle 중 하나이다.(링크 참고)
사용
아래처럼 사용할 수 있다. async fetch()
를 보면 된다. 마치 vuejs 의 mounted
처럼 사용하면 된다. mounted 안에 DOM 이 mounted 된 이후의 작업을 적듯이, fetch()
를 하는 시점에 할 일들을 적으면 된다.
<template>
<div>
</div
</template>
<script>
function _init() {}
export default {
name: "MyComponent",
data() {
return {
...
};
},
async fetch() {
this.session = await fetch(
'https://127.0.0.1:5000/test-api'
).then(res => res.json())
},
fetchOnServer: false, // call fetch only on client-side
computed: {},
mounted() {
console.log("namh");
},
methods: {},
head: {
title: "my comp",
},
};
</script>
fetchOnServer
async fetch
와 같이 fetchOnServer
option 이 쓰인다. 기본값은 true
이다. 어느시점에 fetch 를 하느냐를 정할 수 있다.
- fetchOnServer = true : rendering 이 되는 시점에 fetch를 호출한다.
- fetchOnServer = false : client-side 에서 fetch 를 호출한다.
static generate
static 으로 build 를 하게 되면, async fetch
의 내용을 미리 가져와서 넣어준다. 다만 build 시점에 url 이 접근가능해야 한다. 만약 local server 로 접근해서 가져와야 하는 경우라면, local server 를 띄워놓고 build 를 해야만 한다.
그리고 fetchOnServer = true
인 경우 static 한 값을 넣어서 만들기 때문에, 항상 같은, 변하지 않는 값들을 미리 fetch 할 때 써야한다. 그렇지 않다면 fetchOnServer = false
를 사용해야 한다.
그밖에
그 밖의 자세한 내용은 ref. 1 을 참고하자.
댓글 없음:
댓글 쓰기