35 条回复  ·  489 次点击
connection 小成 2024-3-29 20:18:10
@otakustay 以前都得这么干 TAT
iOCZS 小成 2024-3-29 20:30:47
主要是 aHandle 是不是纯的,它是纯的话,你甚至可以拿到组件外边去。如果不纯的话,它依赖什么数据?依赖变化的时候,它是需要更新的。
rocmax 小成 2024-3-29 20:51:30
是不是把 vue 里用 watch 的习惯带来了?
type 在哪里变的就在哪里挂处理函数,useeffect 不是干这个的
lee88688 小成 2024-3-29 22:44:45
闭包问题,在 react 里面没有太好的解决方案,op 说的是否还要再往上套的问题是肯定的,如果想要保持引用稳定就是要付出这个代价,这也就是 react 目前的问题。
vue 或者 solidjs 这些没有这个问题是因为他们所有的数据外面都有一层壳,vue 的 val.value ,solidjs 的 value(),都是帮你在外面加了一层,当然渲染机制也不同,所以加壳就加吧。
zbowen66 小成 2024-3-30 11:52:56
@rocmax #45 别洗了,缺点就是缺点
dudubaba 初学 2024-3-30 16:07:15
这种感觉就是 eslint 的锅, 这种场景还是很多的,因为 useEffect 不能直接用 async ,所以函数定义在 useEffect 里又不能共用,抽出来又出现你这种依赖报错问题,但是实际上不加函数依赖是正常的,用这种依赖问题又一大堆冗余代码。如果全局 eslint 改不掉建议用   eslint-disable-next-line 这种禁用掉。
1234
返回顶部