3.2.38 regression error for multi-branch dynamic slots
Vue version
3.2.38, 3.2.39 (above commit 00036bb52c4e641b2be7fa55c39ced9448163b0f)
Link to minimal reproduction
Steps to reproduce
Build the project with SSR.
What is expected?
The build should pass.
What is actually happening?
TypeError: Cannot set properties of undefined (setting 'key')
at slots.<computed>
System Info
System:
OS: Windows 10 10.0.19044
CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
Memory: 12.46 GB / 23.84 GB
Binaries:
Node: 16.15.1 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.15 - ~\AppData\Roaming\npm\yarn.CMD
npm: 8.11.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Chrome: 105.0.5195.102
Edge: Spartan (44.19041.1266.0), Chromium (105.0.1343.33)
Internet Explorer: 11.0.19041.1566
Any additional comments?
res
may be undefined
. Adding a nullable check may help. If this change is acceptable I am willing to provide a PR.
const res = slot.fn(...args)
+ if (!res) return res
// attach branch key so each conditional branch is considered a
// different fragment
;(res as any).key = slot.key
return res