当前位置: 首页 > news >正文

reactive() 的局限性

reactive() API 有一些局限性:

  1. 有限的值类型:它只能用于对象类型 (对象、数组和如 MapSet 这样的集合类型)。它不能持有如 stringnumber 或 boolean 这样的原始类型。

  2. 不能替换整个对象:由于 Vue 的响应式跟踪是通过属性访问实现的,因此我们必须始终保持对响应式对象的相同引用。这意味着我们不能轻易地“替换”响应式对象,因为这样的话与第一个引用的响应性连接将丢失:

    let state = reactive({ count: 0 })// 上面的 ({ count: 0 }) 引用将不再被追踪
    // (响应性连接已丢失!)
    state = reactive({ count: 1 })
  3. 对解构操作不友好:当我们将响应式对象的原始类型属性解构为本地变量时,或者将该属性传递给函数时,我们将丢失响应性连接:

    const state = reactive({ count: 0 })// 当解构时,count 已经与 state.count 断开连接
    let { count } = state
    // 不会影响原始的 state
    count++// 该函数接收到的是一个普通的数字
    // 并且无法追踪 state.count 的变化
    // 我们必须传入整个对象以保持响应性
    callSomeFunction(state.count)

由于这些限制,我们建议使用 ref() 作为声明响应式状态的主要 API。

http://www.lryc.cn/news/428912.html

相关文章:

  • stm32f407vet6驱动3.2寸lcd(9341 FSMC hal)
  • 替换后的最长重复字符(LeetCode)
  • [sqlserver][sql]sqlserver查询表信息和字段信息
  • easypoi模板导出word并且合并行
  • 雨云美国二区E5v2服务器测评(非广告)
  • 前端form表单post请求
  • oracle共享池(shared pool):一、工作原理、组成部分 二、软硬解析过程
  • 设计模式六大原则中的里氏替换原则
  • 安装Cellpose
  • 图卷积神经网络算法
  • 【C#】System.Text.Json
  • 经典游戏,用java实现的坦克大战小游戏
  • linux开通端口命令
  • 5、并发锁机制之synchronized
  • 职场那些事:应对施暴者的智慧
  • 精细化管理和智慧化运营的智慧油站开源了。
  • vue项目配置基础路由vue-router
  • 2024年入职/转行网络安全,该如何规划?_网络安全职业规划
  • 【Python系列】执行 Shell 命令的六种方法
  • 2024华为OD机试真题-部门人力分配Python-C卷D卷-200分
  • 【Leetcode 1436 】旅行终点站—— 哈希表
  • springboot自动配置原理-面试题
  • 【C++题解】1140 - 亲密数对
  • 学习大数据DAY40 基于 hive 的数据处理
  • [数据集][目标检测]手钳检测数据集VOC+YOLO格式141张1类别
  • SQL注入(head、报错、盲注)
  • 30. 包含 min 函数的栈
  • 五、OpenTK图形渲染基础
  • 桔子哥/基于云快充协议1.5版本的充电桩系统软件-充电桩系统 -新能源车充电平台源码
  • 零基础5分钟上手亚马逊云科技-高可用Web系统设计最佳实践