为什么除 Vue 3 外的主流前端框架不使用 Proxy 来跟踪响应式对象的改变?

2022-09-30 11:38:27 +08:00
 skies457

最近尝试了 svelte ,感觉只靠 assignment 来触发响应式更新有点笨拙,需要一些 a=a 这样的 tricks... 所以为什么不通过 Proxy 来跟踪对象变化呢?

2233 次点击
所在节点    前端开发
12 条回复
lzj724
2022-09-30 11:40:38 +08:00
再写一个 vue3 ?
noe132
2022-09-30 11:41:19 +08:00
react + mobx 就是你所说的了。
skies457
2022-09-30 11:52:36 +08:00
@noe132 react 的 useEffect 、useMemo 还需要自己指定 dependencies 。。实现组件内部 nested object 的 deep reactivity 总感觉很麻烦
skies457
2022-09-30 11:54:25 +08:00
@lzj724 svelte 的语法糖写起来还是挺爽的,要是能结合一下就好了(逃
hewelzei
2022-09-30 12:06:25 +08:00
solidjs hook + proxy
meihuanyu88x
2022-09-30 12:14:07 +08:00
性能不行
cyitao
2022-09-30 12:23:51 +08:00
proxy 有运行时的损耗,svelte 没有。赋值触发响应式,是为了帮助 svelte 在编译的时候,更好地识别响应式数据。
XCFOX
2022-09-30 13:21:18 +08:00
React 有 valtio 来使用 Proxy
https://github.com/pmndrs/valtio
runze
2022-09-30 13:48:47 +08:00
zhouyg
2022-09-30 15:06:24 +08:00
相比基于函数调用,基于 Proxy 多了一层访问代理成本,而且这个成本在运行前就会产生,不能 lazy
zzl22100048
2022-09-30 21:04:49 +08:00
看一下 solidjs
cjydawn
2022-10-02 10:01:58 +08:00
看看 preact 新出的 signals ?
https://preactjs.com/blog/introducing-signals/

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/883988

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX