framework
framework copied to clipboard
Server-side rendering a component with conditional slot causes error
Environment
Nuxi 3.0.0-rc.10 RootDir: /sandbox Nuxt project info:
- Operating System:
Linux - Node Version:
v14.19.3 - Nuxt Version:
3.0.0-rc.10 - Nitro Version:
0.5.3 - Package Manager:
[email protected] - Builder:
vite - User Config:
- - Runtime Modules:
- - Build Modules:
-
Reproduction
https://codesandbox.io/s/dawn-morning-b454k7?file=/pages/index.vue
Juicy bit:
<FooComponent> <template v-if="true" #first> Hello conditional </template> </FooComponent>
Describe the bug
- When rendering a component slot with a condition that evaluates to true, an error will be thrown, the slot is however rendered correctly.
- It only seems to happen during SSR.
- Conditions that evaluates to false does not throw an error
Additional context
In RC 8 this was working fine
Logs
[nitro] [dev] [unhandledRejection] TypeError: Cannot set property 'key' of undefined
at slots.<computed> (/sandbox/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:2924:29)
at ssrRenderSlotInner (/sandbox/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:628:21)
at Module.ssrRenderSlot (/sandbox/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:618:5)
at _sfc_ssrRender (/sandbox/components/FooComponent.vue:7:25)
at renderComponentSubTree (/sandbox/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:254:17)
at renderComponentVNode (/sandbox/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:188:16)
at Module.ssrRenderComponent (/sandbox/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:612:12)
at _sfc_ssrRender (/sandbox/pages/index.vue:60:31)
at renderComponentSubTree (/sandbox/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:254:17)
at renderComponentVNode (/sandbox/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js:188:16)
You can track in https://github.com/vuejs/core/issues/6651.