V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  shakukansp  ›  全部回复第 1 页 / 共 16 页
回复总数  306
1  2  3  4  5  6  7  8  9  10 ... 16  
2 天前
回复了 shakukansp 创建的主题 分享发现 看流浪地球时的想法
@err1y 还有专有名词,学到了
31 天前
回复了 shakukansp 创建的主题 Apple gotcha 怎么回事?
@whitecosm0s 好的
31 天前
回复了 shakukansp 创建的主题 Apple gotcha 怎么回事?
@whitecosm0s 我是刚出就买的,但是现在没自动变成专业版啊
31 天前
回复了 shakukansp 创建的主题 Apple gotcha 怎么回事?
@makelove 公司项目,ci 流程每次都要这么久
@makelove 真的假的,感觉一个 20000 modules 项目 webpack5 打个包没缓存得要半小时吧
@AllenCai 解构赋值并不会丢失响应性

const a = reactive({ b: { c:1 } })

const { b } = a

return { b }

这个时候不论你改 b.c 还是 a.b.c, 渲染到页面上的值都是会同步变化的

只有你主动去切断引用链响应性才会丢失

比如 a. b = { c:2 }
33 天前
回复了 shakukansp 创建的主题 Apple 网易邮箱大师 mac 版支持 m1 了
@ericFork 免费,不会莫名 cpu100% 附件也不会有问题,edison mail 我需要的功能基本都有了
同样的使用 toRef 或者 toRefs 等 api 时也要注意这个问题,所以一般传参数的时候我建议用 computed 而不是 toRef 链接一个新的 ref
@shakukansp 只告诉你不建议解构响应式对象,没说为什么
https://codesandbox.io/s/vue3-jsx-demo-forked-g06sub?file=/src/components/Demo1.vue

楼主可以先点 2 3 个按钮
然后点第一个
继续点 2 3 个按钮
这是为什么会丢响应式
官网只告诉你为什么不建议解构 reative 对象,没说为什么
这是个初学者常犯的错误
不说了,楼主再遇到响应式丢失的问题自然会回来翻我在说什么

看不懂我在讲什么的自己开个 sandbox 写写我 21 楼的情况吧

写道函数里面只是治了标,看楼主回复也没懂丢失响应式的本。
我已经问你 把声明从函数里拿到外面 不能触发怎么说了,还在这嘴硬,你说我 35 楼暴露水平,恰恰是暴露了你的水平

至于 2 ,我想法又被你代表了,你上下文我懂,但是你没懂我说的 getter 代表什么,这就是暴露水平
@johnkiller 呵呵,你的解决方法楼主遇到我说的情况咋办,不是又要迷惑一次

单就这一点你已经跪了

我楼里讲的话可没有一点犹豫

你还要搬出诸如给什么项目提过什么 pr ,属实不行
抽象层面,get 就是对一个变量取值的行为,你说况且它也没有 getter ,你确实暴露水平
@johnkiller 哦,你 35 楼说我暴露水平什么意思,讲的有问题吗,我看你是后面反应过来才改口

你家猫学两天能明白你还要这么多楼才能反应过来,讲话恶心人谁不会啊
22 楼结论必没有错

我也没倔强什么,因为这就是预期内行为,就算不懂 vue 响应式原理也能通过 js 基础特性得出会丢失响应式的结论
@johnkiller 当然急啊,怕你误导楼主,为什么主楼这代码会有这种问题我还是得告诉楼主啊,你再看看我 21 楼回了什么

“原段代码就算把 someprops 改成 reactive ,依然无法通过修改 getOne.value 的值来触发视图更新,就算 getOne.value 里面的值是个对象也一样,具体会表现为修改 getOne.value 中对象的子属性可以触发更新,但是给 getOne.value 赋值一个不同引用的对象就会没法更新视图。”

此处原代码指主楼代码

重点在这里 “就算 getOne.value 里面的值是个对象也一样,具体会表现为修改 getOne.value 中对象的子属性可以触发更新,但是给 getOne.value 赋值一个不同引用的对象就会没法更新视图”

我就说死了,这就是引用链断了,引用问题引用问题引用问题,vue 虽然收集了依赖,但是 someprops 中的 one 已经和 getOne.value 引用的是不同的对象了
我 21 楼也写的很清楚了,什么情况下 vue 会有什么表现我特么都写出来了

怎么就没想解决楼主问题了,嗯?
@johnkiller 我就是在和楼主讲这个问题,你再看看主楼代码,我回楼主的时候他还没回后面的代码呢。

仅仅传入一个数字,也是我说的值传递,这也是 vue 为什么要用 ref 包装一下基础类型的原因
和 setup 要返回一个函数和 options api 里面 data 要返回一个函数是一样的原因

你只说解决方法而不说下为什么像主楼这么写,改 getOne.value 没法触发视图更新吗
1  2  3  4  5  6  7  8  9  10 ... 16  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   1596 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 14:28 · PVG 22:28 · LAX 06:28 · JFK 09:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.