• vue3的单组件的编写(三)【响应式 API 之 toRef 与 toRefs】


    响应式 API 之 toRef 与 toRefs

    前面讲了 ref 和 reactive 这两种响应式API ,为了方便开发者使用,vue3 还出了两个用来 reactive 转换为 ref 的API,分别是 toRef 和 toRefs 。

    🌈什么是toRef 与 toRefs

    这两个API看拼写能猜到,toRef 转换一个ref,toRefs 是转换所有 ref 。转换后将得到新的变量,并且新变量和原来的变量可以保持同步更新。

    API作用
    toRef创建一个新的 Ref 变量,转换 Reactive 对象的某个字段为 Ref 变量
    toRefs创建一个新的对象,它的每个字段都是 Reactive 对象各个字段的 Ref 变量

    光看概念可能不容易理解,来看下面的例子,先声明一个 reactive 变量:

    interface Member {
        id: number
        name: string
    }
    const userInfo : Member = reactive({
        id: 1 ,
        name: "张珊珊"
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    🌈为什么要进行转换

    为什么要出这么两个 API ,官方文档没有特别说明,不过经过笔者在业务中的一些实际使用感受,可知道一些使用理由。

    refreactive 在使用的过程中,各自都有不方便的地方:

    ref API 虽然在