准备篇
什么是函数式组件?
函数式组件是Vue提供的一个无状态(没有data
选项)、没有this上下文的组件形式,用户可以通过两种方式标记组件为函数式组件
- 标记在template上
vue
<template functional>
</template>
- 标记在选项上
vue
<script>
export default {
functional: true
}
</script>
函数式组件与普通组件有什么区别?
函数式组件是以纯函数的形式存在,即输入可知、结果必然可知,内部没有状态,且不会在内部更改外部状态。而且函数式组件的性能相对更好,因为它仅仅是一个函数。
在什么情况下应该使用函数式组件?
根据函数式组件的概念可知,它是无状态和this引用的。那么它的使用场景必须满足这两种限制。