SolidZORO

SolidZORO

[Developer, Designer]
V2EX 第 985 号会员,加入于 2010-08-07 19:00:13 +08:00
今日活跃度排名 4968
根据 SolidZORO 的设置,主题列表只有在你登录之后才可查看
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
SolidZORO 最近回复了
6 天前
回复了 karott7 创建的主题 程序员 做 App + H5 混合应用的请进,想听听看看
sw + 自己实现一套刷新 sw 的机制。

两年的最佳实践。
55 天前
回复了 haoyh1 创建的主题 问与答 经典日经贴,投影仪怎么选
不给意见,说一下我的使用。之前没用过投影,前段时间买了个小明 Q2 ,1000 出头,感觉刚买的时候也是在意梯形矫正,现在歪歪扭扭一样看得开心,无所谓了反正就刷刷 b 站,另外投在任意角落躺在床上看也很安逸主要就是为了这个买的投影。有安卓系统肯定优先这个,在我看来是刚需。另外就是,我觉得我这 虚标 600 流明我觉得差点,上了 2000 我猜会好一些,没用过只是猜,下回要买我就买个 2000 以上的试试。
别说原型,你看 react 把 this 都给整没了,就是担心你们用错了。要是真有这样执着原型的公司,你跑还不行吗?
209 天前
回复了 yuthelloworld 创建的主题 React 2022 年 react 生态,大家都用啥
@bthulu hhhh ,LS 是好的,但是怎么观察 LS 已经改了呢?事实上,state 存哪里不重要,重要的是 state 发生变化了,其他组件要能知道,以便做出响应的变化。
209 天前
回复了 yuthelloworld 创建的主题 React 2022 年 react 生态,大家都用啥
209 天前
回复了 yuthelloworld 创建的主题 React 2022 年 react 生态,大家都用啥
@isukkaw #56

这么 nb 的吗?我刚试了下,貌似不行,用的 JB IDEA ,可否指教一下这种重构操作是怎么实现的? IDEA 会根据 atom 找到 useAtom 前面 [a, setA] 的中 a ?然后全部重命名。

我再描述一下问题吧,比如我有 2 个 comp:


```
// A-Comp

const [isOpen, setIsOpen] = useAtom(atomA);

```


```
// B-Comp

const [isVisible, setIsVisible] = useAtom(atomA);

```

假如 isOpen 在代码中用了,不过我觉得不够好,想改成 isVisible ,这个时候其实 isVisible 和 isOpen 做了同样的事情,也引用了同样的一个 atomA ,但是他们两并不能互相知道,也没必要知道。

但是作为开发者来说,我希望他们应该一样才对,因为都是引用同一个 atomA ,即便是他们名字不一样但是只要 atomA 变了,他们两都要变。

我不知道这样描述是否妥当,我就是自身没办法规避和解决这个问题,所以换成了中心化的 valtio 。
209 天前
回复了 yuthelloworld 创建的主题 React 2022 年 react 生态,大家都用啥
@reorx 代替 mobx 的只可能是 valtio 这类 Proxy-like 的 lib ,别的 lib 出发点就不是去代替 mobx 的。
209 天前
回复了 yuthelloworld 创建的主题 React 2022 年 react 生态,大家都用啥
而且选型最好还是看看是否通用,比如支不支持 SSR 啦,支不支持 Taro 啊什么的。

我开始用 valtio 的时候发现没有 next.js 方案,或者说这个 lib 他妈的太小众了,根本没有同时用 valtio 又用 next.js 的人。结果我看了一下,发现很好解决啊,server 那边注水了放在 window ,然后 client 这边让 valtio 初始化加载 window 上的 INIT_STATE 就好了嘛。

不过也可能因为官方不支持,所以用的人很好,毕竟 SSR 这种原理大部分人都不明白为什么,会用 next.js 就行了。

之前用 recoil 的时候其实是因为不支持 Taro 而弃坑的,没明白为什么一个 state lib 要写那么复杂用那么多 api 。

再就是,泛用性的 lib 比如 mobx 这种,本身 mobx 性能是很好的,或者说极其好!但是一架上 mobx-react 就 gg 了,性能断崖式下跌,当然一般人不处理那种一个 page 几万个 nodes 的应该也不会有什么感觉。但优先选择我还是会选 react ONLY 的 lib ,毕竟针对 render 是有优化的。
209 天前
回复了 yuthelloworld 创建的主题 React 2022 年 react 生态,大家都用啥
推荐如果没有强烈的 immutable 需求还真的就只推 valtio 。

jotai 很好,但有个问题(也可能不是),就是你用一个 atom ,比如 [a, setA] = useAtom(aAtom),你写 100 个组件里面的 a 名字就都不一样,但是用的 aAtom 是一个,这样在重构的时候很容易发生疏漏。当然回到我之前说也可能不是问题的问题那句话,可能这就是分布式应有的风格,所以我也无法过多评论。

状态总体分为 api state 也可以说是 data state 。还有一些 global state ,这个保存一些 token 啊 全局 setting 啊(也来自 api )。

react-query 解决了 data state ,是没错,但是其实还要一个 state lib 来存放其他 global state ,并且理想状态这些 global 可以被观察 effect 。如果没有这个需求,那你大可存在 window 。

所以,基于上面的前提,我是觉得 RQ + valtio 是够用且好用的。
209 天前
回复了 yuthelloworld 创建的主题 React 2022 年 react 生态,大家都用啥
@isukkaw v 站没有引用特指回复 #24 ,z 虽然也好但是写法相对于 v 太复杂了。

其实可以这么理解 p 家的几个 state lib 。jotai 其实是一切的桥梁,是一个大平台,你想要的 z ,v ,甚至是 localstore 、RQ 什么的,都可以在 jotai 中实现桥接!他就是 p 家的万精油,但是可惜,valtio 实在太好用太简洁了,是一个 mobx-like 的小 lib ,使用上非常先进,也没有 mobx 这种包一层入侵你代码的 observer ,就是纯粹,状态就在哪里了,你想什么读怎么改都行!特别适合某些项目五六层深度的组件忽然想改爸爸的爸爸的爷爷组件中的某个 flag……

诶,打住不多说了,让大家自己选择吧,valtio 比起 jotai 实在太小众太不出名了。但是却很够用。
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1180 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 17ms · UTC 21:52 · PVG 05:52 · LAX 13:52 · JFK 16:52
Developed with CodeLauncher
♥ Do have faith in what you're doing.