Vue中如何高效运用函数式组件的实用技巧?

更新于
2026-09-25 06:58:42
0阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1089个文字,预计阅读时间需要5分钟。

Vue中如何高效运用函数式组件的实用技巧?

函数式组件是一种无状态且无实例的组件,没有管理状态,也没有监听任何事件传递给它的状态,也没有生命周期方法。它只接受一些props并返回一些JSX。简单来说,就是一个无状态和无实例的组件,基本写法如下:

jsxfunction MyComponent(props) { return {props.children};}

什么是函数式组件

没有管理任何状态,也没有监听任何传递给它的状态,也没有生命周期方法,它只是一个接受一些 prop 的函数。简单来说是 一个无状态和无实例的组件

基本写法:

Vue.component('my-component', { functional: true, // Props 是可选的 props: { // ... }, // 为了弥补缺少的实例 // 提供第二个参数作为上下文 render: function(createElement, context) { // ... } })

.vue 单文件组件写法

<template functional> ... </template>

因为函数式组件没有 this,参数就是靠 context 来传递的了,有如下字段的对象:

  • props:提供所有 prop 的对象
  • children:VNode 子节点的数组
  • slots:一个函数,返回了包含所有插槽的对象
  • scopedSlots:(2.6.0+) 一个暴露传入的作用域插槽的对象。也以函数形式暴露普通插槽。
阅读全文

本文共计1089个文字,预计阅读时间需要5分钟。

Vue中如何高效运用函数式组件的实用技巧?

函数式组件是一种无状态且无实例的组件,没有管理状态,也没有监听任何事件传递给它的状态,也没有生命周期方法。它只接受一些props并返回一些JSX。简单来说,就是一个无状态和无实例的组件,基本写法如下:

jsxfunction MyComponent(props) { return {props.children};}

什么是函数式组件

没有管理任何状态,也没有监听任何传递给它的状态,也没有生命周期方法,它只是一个接受一些 prop 的函数。简单来说是 一个无状态和无实例的组件

基本写法:

Vue.component('my-component', { functional: true, // Props 是可选的 props: { // ... }, // 为了弥补缺少的实例 // 提供第二个参数作为上下文 render: function(createElement, context) { // ... } })

.vue 单文件组件写法

<template functional> ... </template>

因为函数式组件没有 this,参数就是靠 context 来传递的了,有如下字段的对象:

  • props:提供所有 prop 的对象
  • children:VNode 子节点的数组
  • slots:一个函数,返回了包含所有插槽的对象
  • scopedSlots:(2.6.0+) 一个暴露传入的作用域插槽的对象。也以函数形式暴露普通插槽。
阅读全文