Skip to content

准备篇

什么是函数式组件?

函数式组件是Vue提供的一个无状态(没有data选项)、没有this上下文的组件形式,用户可以通过两种方式标记组件为函数式组件

  1. 标记在template上
vue

<template functional>

</template>
  1. 标记在选项上
vue

<script>
export default {
  functional: true
}
</script>

函数式组件与普通组件有什么区别?

函数式组件是以纯函数的形式存在,即输入可知、结果必然可知,内部没有状态,且不会在内部更改外部状态。而且函数式组件的性能相对更好,因为它仅仅是一个函数。

在什么情况下应该使用函数式组件?

根据函数式组件的概念可知,它是无状态和this引用的。那么它的使用场景必须满足这两种限制。