Vue中如何高效运用函数式组件的实用技巧?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1089个文字,预计阅读时间需要5分钟。
函数式组件是一种无状态且无实例的组件,没有管理状态,也没有监听任何事件传递给它的状态,也没有生命周期方法。它只接受一些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分钟。
函数式组件是一种无状态且无实例的组件,没有管理状态,也没有监听任何事件传递给它的状态,也没有生命周期方法。它只接受一些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+) 一个暴露传入的作用域插槽的对象。也以函数形式暴露普通插槽。

