【vue】v-for 使用 Array.prototype.reverse() 的无限更新循环

javascript 复制代码
v-for="item in items.reverse()"

Vue 警告 组件渲染函数中可能存在无限更新循环。infinite loop update

Array.prototype.reverse 实际上修改了它应用于 的数组.

Vue 获取此更改并同时触发 v-for重新评估,触发另一个 .reverse() .这会触发 Vue 重新渲染,导致 .reverse()

要解决此问题,请使用 computed items\[\] 的浅拷贝上的属性(例如,使用 Array 解构 ...this.items 作为反向列表:

javascript 复制代码
computed: {
    itemsReverse() {
      return [...items].reverse()
    }
}
相关推荐
java1234_小锋9 分钟前
Vue3专题 - 列表渲染
vue.js
吴懿不在 不负信仰29 分钟前
从jQuery谈库与框架的设计之优劣
前端·javascript·jquery
huabuyu2 小时前
治好 AI 长回答的卡、闪、膨胀:渲染开销从 50 万次砍到 1000
前端·javascript
Asize2 小时前
无状态 Stateless:大模型为什么记不住你是谁
javascript·人工智能·架构
嘟嘟07172 小时前
学了 useContext 还是不理解?从 prop drilling 到 useMouse 的一次完整复盘
前端·javascript·react.js
huabuyu2 小时前
模型吐到一半的 JSON 为什么不崩、不卡、不抖?流式 Function Call 的三层修复
前端·javascript
触底反弹2 小时前
JS 运行原理与 Event Loop:从 Web Worker 实战说起
前端·javascript·react.js
0__O2 小时前
从一段 JS 回调变为异步的代码来了解 JavaScript 异步编程
javascript
胡萝卜术2 小时前
声明式与命令式的边界:从鉴权路由守卫到 useRef 的引用哲学
前端·javascript·面试
默_笙3 小时前
🍉 我把《天龙八部》喂给了 AI,问它"段誉会什么武功?"答案让我惊呆了
前端·javascript