You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js渲染函数是否允许返回VNode数组?函数式组件返回语法疑问

问题解答

你记忆中「render函数只能返回单个VNode」是Vue 2.3版本之前的旧限制,对应你贴的函数式组件场景,有明确的规则说明:

  • Vue 2.3及以上版本中,函数式组件的render函数天然支持直接返回VNode数组,不需要额外用空节点包裹根元素,这是官方开放的合法语法,你看到的代码写法完全符合规范。
  • 该能力在Vue 2.x版本中仅对函数式组件开放,普通有状态组件的多根节点支持是Vue 3版本才新增的特性。
  • 你代码中数组内通过&&条件判断生成的falsy值(比如withAd && adWrap(...)在条件不成立时返回的false),Vue会自动过滤,不会渲染无效节点,也属于合法写法。

内容的提问来源于stack exchange,提问作者phnx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 23:54:02