반응형
Nuxt, composition-api(vue2) 및 SSR에서 Pinia를 사용하는 방법
Pinia가 Nuxt with SSR(서버 사이드 렌더링)에서 작업할 수 있도록 하려고 합니다.
Pinia를 사용하지 않고 페이지를 작성할 경우 다음과 같이 동작합니다.
<script>
import { reactive, useFetch, useContext } from '@nuxtjs/composition-api'
export default {
setup() {
const { $axios } = useContext()
const invitesStore = reactive({
invites: [],
loading: true,
})
useFetch(async () => {
invitesStore.loading = true
await $axios.$get('invite/registermember').then((result) => {
invitesStore.loading = false
invitesStore.invites = result.invites
})
})
return {
invitesStore,
}
},
}
</script>
하지만 Pinia를 소개할 때 오류가 발생합니다."Converting circular structure to JSON --> starting at object with constructor 'VueRouter'"
Pinia를 이렇게 사용하고 있습니다.
// /store/invitesStore.js
import { defineStore } from 'pinia'
// useStore could be anything like useUser, useCart
export const useInvitesStore = defineStore({
// unique id of the store across your application
id: 'storeId',
state() {
return {
invites: [],
loading: true,
}
},
})
<script>
import { useInvitesStore } from '@/store/invitesStore'
import { reactive, onMounted, useFetch, useContext } from '@nuxtjs/composition-api'
export default {
setup() {
const { $axios } = useContext()
const invitesStore = useInvitesStore()
useFetch(async () => {
invitesStore.loading = true
await $axios.$get('invite/registermember').then((result) => {
invitesStore.loading = false
invitesStore.invites = result.invites
})
})
return {
invitesStore,
}
},
}
</script>
이걸 작동시킬 수 있을까요? 어떻게요?
언급URL : https://stackoverflow.com/questions/68438124/how-to-use-pinia-with-nuxt-composition-api-vue2-and-ssr
반응형
'programing' 카테고리의 다른 글
생성자 표현식 vs. 목록 통합 (0) | 2022.10.10 |
---|---|
python을 사용하여 어레이 셔플, python을 사용하여 어레이 항목 순서 랜덤화 (0) | 2022.10.10 |
증손자녀 컴포넌트 메서드 호출 (0) | 2022.10.10 |
JavaScript Date를 자정까지 초기화하는 가장 좋은 방법은 무엇입니까? (0) | 2022.10.09 |
Vue Router Guards가 Vuex를 대기하도록 하는 방법 (0) | 2022.10.09 |