美文网首页
vue3 学习笔记 - reactive

vue3 学习笔记 - reactive

作者: VioletJack | 来源:发表于2023-03-28 10:05 被阅读0次

reactive

reactive 代理

reactive 返回对象的响应式代理。

import { reactive } from 'vue'

const arr = reactive([1, 2, 3, 4, 5])
arr.push(4)
arr.pop()
arr.pop()
arr.pop()
// [ 1, 2, 3 ]

const obj = reactive({ a: 1, b: { c: 3 } })
obj.b.c = 7
// { "a": 1, "b": { "c": 7 } }

注意: reactive 只能代理对象(基础类型需要包裹在对象中进行代理)

ref 解包

用 ref 函数生成的对象可以直接放到 reactive 函数中,并且自动解包。即不需要再使用 count.value++,而是直接使用 obj.count++

import { ref, reactive } from 'vue'

const count = ref(1)
const obj = reactive({})

obj.count = count
obj.name = {}

obj.name.c = 1
obj.name.c++

count.value++
obj.count++

// 3
// { "count": 3, "name": { "c": 2 } }

发现 reactive 函数使用了代理之后,可以将对象后续新增的属性也进行代理。这比之前通过 defineProperty 来定义方便了很多。之前的话只会对初始化的值进行响应式绑定。

如果将一个对象赋值给 ref,那么这个对象将通过 reactive() 转为具有深层次响应式的对象。

不能使用基础类型

const a = reactive('3')

这种对象是无法操作的,应该它是基础类型。

相关文章

  • vue3.0 reactive

    记录一下3.0的学习笔记vue3提出了reactive创建响应式对象的方法。以供开发者来定义data。个人感觉3....

  • vue3 学习笔记

    学习vue3的过程,个人觉得vue3有好多很棒的优点或者写作规范,记录下来,方便复习setup,reactive这...

  • vue3与react、 react hooks

    一、Vue3新特性:setup、ref、reactive、computed、watch、watchEffect函数...

  • Vue3(五)reactive vs ref(中)

    reactive 相关的函数 Vue3为 reactive 提供了一些列的函数,目的是可以更好的使用reactiv...

  • vue3—reactive如何更改属性

    vue3新增了响应性API,其中数据有两种,ref和reactive。reactive支持非原始对象,基础类型不能...

  • vue3

    ~ vue3 的基础 api 有那些 const { createApp, reactive,// 创建响应式数据...

  • Vue3中可在setup 内使用的 api

    Vue3 新增了许多新的api。例如:ref, reactive, readonly, toRef,toRefs。...

  • vue3源码之reactive

    vue3源码之reactive.ts解析 reactivity是vue响应式的核心 这块在vue3中完全重构了 采...

  • Vue3 reactive响应式赋值问题

    来源:vue3中的reactive对象赋值问题 - SegmentFault 思否[https://segment...

  • 何时使用ref?何时使用reactive?

    一般情况下vue3有两种定义模板数据的方式ref和reactive,但是何时使用ref?何时使用reactive?...

网友评论

      本文标题:vue3 学习笔记 - reactive

      本文链接:https://www.haomeiwen.com/subject/wlvzrdtx.html