全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-20 6 分钟 ✍️ juanwangdev

函数式组件

函数式组件是没有实例和状态的纯函数。

Vue 2 写法

JavaScript
export default {
  functional: true,
  render(h, context) {
    return h('div', context.props.content)
  }
}

Vue 3 写法

JavaScript
const FunctionalComp = (props, context) => {
  return h('div', props.content)
}

接收上下文

JavaScript
const FunctionalComp = (props, { attrs, slots, emit }) => {
  return h('div', { ...attrs }, slots.default())
}

单文件组件

vue
<script setup>
const props = defineProps(['content'])
</script>

<template>
  <div>{{ props.content }}</div>
</template>

Vue 3 的 <script setup> 默认接近函数式组件性能。

函数式组件不能拥有响应式状态(data)或生命周期。

性能对比

类型实例化状态性能
普通组件支持标准
函数式组件不支持更快

要点总结

  • 函数式组件无实例、无状态
  • 适合纯展示组件
  • Vue 3 使用普通函数或 <script setup>
  • 渲染开销比普通组件低

📝 发现内容有误?点击此处直接编辑

← 上一篇 Provide与Inject
下一篇 → 混入Mixin
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库