From 2a42a5f807c22aad49937b502734271b88607a89 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Fri, 16 Jun 2023 15:47:59 +0100 Subject: [PATCH] fix(nuxt): ensure prerendered components are treated as islands (#21583) --- packages/nuxt/src/app/components/nuxt-island.ts | 1 + packages/nuxt/src/app/plugins/revive-payload.client.ts | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/nuxt/src/app/components/nuxt-island.ts b/packages/nuxt/src/app/components/nuxt-island.ts index 1ac05d8b22..ba2b239305 100644 --- a/packages/nuxt/src/app/components/nuxt-island.ts +++ b/packages/nuxt/src/app/components/nuxt-island.ts @@ -79,6 +79,7 @@ export default defineComponent({ } // TODO: Validate response const result = await $fetch(url, { + responseType: 'json', params: { ...props.context, props: props.props ? JSON.stringify(props.props) : undefined diff --git a/packages/nuxt/src/app/plugins/revive-payload.client.ts b/packages/nuxt/src/app/plugins/revive-payload.client.ts index fa27861df6..6361148156 100644 --- a/packages/nuxt/src/app/plugins/revive-payload.client.ts +++ b/packages/nuxt/src/app/plugins/revive-payload.client.ts @@ -20,7 +20,10 @@ if (componentIslands) { revivers.Island = ({ key, params }: any) => { const nuxtApp = useNuxtApp() if (!nuxtApp.isHydrating) { - nuxtApp.payload.data[key] = nuxtApp.payload.data[key] || $fetch(`/__nuxt_island/${key}`, params ? { params } : {}).then((r) => { + nuxtApp.payload.data[key] = nuxtApp.payload.data[key] || $fetch(`/__nuxt_island/${key}`, { + responseType: 'json', + ...params ? { params } : {} + }).then((r) => { nuxtApp.payload.data[key] = r return r })