• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

Composition api

开发技术 开发技术 6小时前 3次浏览

Why Composition api?

普通的options式的组件在一开始维护的时候都是简单并且干净的。但是当我们维护了一段时间以后会发现,我们的维护变得困难起来,由于option的问题,会导致我们的数据内容会有很多的副作用(watch,computed)和耦合(methods)。如果我们选择使用functional component也许会让我们的内容变得简单,并且不同的逻辑可以通过不同的分区去区分,但是由于functional component本身是无状态的,会让我们实现的选择面大大减小。Composition Api 提供了解决方案给我们。

setup

composition api的入口,我们所有的内容都可以写在setup这里,setup可以返回`{}`,并且返回的内容都可以被组件任何地方使用,同时这里也可也返回jsx`( ) => { return <div>jsx</div> }`。
在setup中没有生命周期函数,没有计算属性等等特性,取而代之的都是composition api。

setup的arguments

setup方法传入两个参数,一个是props,一个是context。
`setup(props,context){}`
由于props是reactive的所以我们不能解构赋值,因为结构赋值可能会破坏响应性。如果我们需要结构赋值,我们可以通过`toRefs`函数来完成次操作
`const { title } = toRefs(props) //title.value`
如果title是可选的字段props中可能没有title,我们就需要使用`toRef`
`const title = toRef(props, 'title')`

程序员灯塔
转载请注明原文链接:Composition api
喜欢 (0)