You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using Pinia for state management but there seem to be a compatibility issue with composition-api. Specifically the useFetch function.
The error happens when I am using useFetch in my setup function and return an imported Pinia store to the template and refreshes the page. (It works fine when navigating to the page)
This will result in:
TypeError
Converting circular structure to JSON --> starting at object with constructor 'Object' --- property '_renderProxy' closes the circle
node_modules/@nuxtjs/composition-api/dist/runtime/index.mjs
if (val instanceof Function || val instanceof Promise) return
data[key] = isRef(val) ? val.value : val
}
)
const content = vm.$fetchState.error
? { _error: vm.$fetchState.error }
: JSON.parse(JSON.stringify(data))
if ('push' in vm.$ssrContext.nuxt.fetch) {
vm.$ssrContext.nuxt.fetch.push(content)
} else {
vm.$ssrContext.nuxt.fetch[vm._fetchKey] = content
Steps to reproduce the behavior:
@pinia/nuxt": "0.1.8",
"@nuxtjs/composition-api": "0.31.0",
"nuxt": "2.15.8",
Removing store from the return statement makes everything work fine again. So you can have both pinia store and useFetch in setup function as long as you dont use store in the template. But you often have the need for both.
The text was updated successfully, but these errors were encountered:
Yes, this is an unavoidable consequence of the Nuxt 2 fetch implementation (which entails stringifying the entire component state). I'd recommend avoiding useFetch and using useAsync instead for more granular control of what is added to the Nuxt payload...
Can someone more knowledgeable explain what the downsides of using onServerPrefetch instead of useFetch? Is useFetch just capable of being either server-side or client-side, as well as adhoc instead of just server prefetch?
Basically, am I safe in assuming that if onServerPrefetch is a totally fine place for my fetch in my use case, then I'm fine using it instead of useFetch?
I am using Pinia for state management but there seem to be a compatibility issue with composition-api. Specifically the useFetch function.
The error happens when I am using useFetch in my setup function and return an imported Pinia store to the template and refreshes the page. (It works fine when navigating to the page)
This will result in:
Steps to reproduce the behavior:
@pinia/nuxt": "0.1.8",
"@nuxtjs/composition-api": "0.31.0",
"nuxt": "2.15.8",
In a component:
Removing store from the return statement makes everything work fine again. So you can have both pinia store and useFetch in setup function as long as you dont use store in the template. But you often have the need for both.
The text was updated successfully, but these errors were encountered: