V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yukinotech  ›  全部回复第 3 页 / 共 5 页
回复总数  90
1  2  3  4  5  
2022 年 4 月 22 日
回复了 yukinotech 创建的主题 React react immutable 相关困惑
@ChefIsAwesome 这也是困惑的点,因为网上现在一谈 react 就喜欢讲 immutable ,但是我自己实践就觉得 react 本身是不依赖 immutable 那些东西的,所以发个贴,问一下是不是我想错了。。
2022 年 4 月 22 日
回复了 yukinotech 创建的主题 React react immutable 相关困惑
@iseki 嗯,有道理,所以还是和实际场景相关。这种场景 useEffect 依赖项可能就不会写 theObject ,而是 theObject.xxx ,或者上层组件 setState 的时候,自己{...一遍},再传给子组件。

但是确实和 1 ,2 楼说的,Pure Component 才会引起渲染的问题,附言 1 里补充了一下
2022 年 4 月 22 日
回复了 yukinotech 创建的主题 React react immutable 相关困惑
@jjwjiang 纠结主要有 2 点。1. state.xx = xx 这个操作本身,会不会导致 bug 2.因为一直有人把 react 和 immutable 绑定到一起,所以我想弄清楚对 react 的 render 来说 immutable 是必须的吗,还是只需要保证 newState!==oldState 即可
2022 年 4 月 22 日
回复了 yukinotech 创建的主题 React react immutable 相关困惑
@gogogo1203 你说的道理是对的。Shallow comparison 就是用 === 比较,对象就比较引用,所以浅复制一个 obj ,虽然不能改变 obj 属性里面的引用,但是浅复制后的新 obj 引用就不是原来的了,丢入 setState 能触发新的 render 。这个过程和对象的属性是同一个 referrence 没什么关系吧。而且 onClick1 的注释也说得比较清楚了,不然为啥说 newState[0].name = "ddddddd"就是修改 personList[0].name
为啥要用 hook 发请求呢?像 useSWR 看起来很优雅,一方面 post 请求不适合 useSWR ,另一方面因为是自定义 hook ,请求的返回值必须在组件内使用。而且 useSWR 自身也是知道声明式的局限性,还是提供了命令式的执行方式。绕了一圈又回去了。。

比如说有一个用户点击后可以刷新数据的场景,useSWR 请求的参数(查询的参数和分页的信息)没变,但是对应的数据可能在后端已经更新了。useSWR 就显得很僵硬,只能依赖另一个手动指定的变量来触发更新。

就像楼上说的,直接搞一个状态管理,在 action 里面发请求,修改 store ,然后组件通过状态管理提供的 hook 就拿到 store ,比如 redux 的 useSelector 之类的。

最后夹带一点私货。 推荐一个状态管理库 https://github.com/bytedance/react-model 真的好用
2022 年 4 月 22 日
回复了 nanxiaobei 创建的主题 React 🧿 将 React 变为 SolidJS,按需更新,再无 re-render
@wonderblank 对的,起码自己可以控制什么时候该 redner
2022 年 4 月 21 日
回复了 CookCoder 创建的主题 程序员 自己用来判断国内法定节假日的 js 库,分享给各位
@CookCoder 挺好的,每年更新一次,明年的留个 pr 机会给我(手动滑稽)
自己本地也试过一些 benchmark ,确实绷不住,原生的太快了。

交流群二维码失效进不去了,能再拉一下不,有些问题想讨论讨论
2022 年 4 月 15 日
回复了 Chingim 创建的主题 程序员 UTF-8 为什么要这么设计
看了一下回答,误解题主的意思的人很多。总结一下认为 1 楼的说法是比较正确的,举个例子:

2 个字节的 utf-8 中
110X XXXX 10XX XXXX 理论可以承载字符 2^11 ,2048 个字符
但根据标准,实际分配给这个段的 unicode 码点范围是 0x81 - 0x7ff ,也就是说只有 1920 个字符,
二进制表示 unicode 码点:0000 1000 0001 - 0111 1111 1111 ,把后 11 位分配到 110X XXXX 10XX XXXX 上,直接位运算是最方便的。
unicode ( 0000 1000 0001 )=> utf-8( 110|<0 0010>| 10|<00 0001|>) 肯定比
unicode ( 0000 1000 0001 )=> utf-8 不浪费版( 1100 0000 1000 0000) 运算方便

utf-8 空间完全够用,不像 utf-16 ,空间极限就是 0x10ffff ,综合来看应该是这个原因吧
感觉这种风险无法衡量,因为不清楚这个开户,会把你的资料同步到谁那,会和什么挂钩。比如开通花呗,就有可能和征信挂钩,这还是抛开隐私问题不谈的情况下
2022 年 4 月 12 日
回复了 LxnChan 创建的主题 JavaScript 最近在恶补 JavaScript,对运算符这个地方不太理解
i+=1 多写一个字符不会死的。。
2022 年 4 月 9 日
回复了 johnrosen1 创建的主题 NAS Qbittorrent 性能参数校准
可以的,学习了
学做菜,或者美食
2022 年 1 月 2 日
回复了 lakie 创建的主题 问与答 小米 12 上手了,有个问题?
@CNN 哪个 app ,是能说的那种吗?来个 base64
2021 年 11 月 18 日
回复了 azh7138m 创建的主题 职场话题 初级前端的离职碎碎念
你走的早,没碰上 lynx
这种肯定是走 ast 能力了,不过感觉有点高射炮打蚊子。。
可以吊打 3090
2021 年 10 月 17 日
回复了 hronro 创建的主题 Apple 推断新 mbp 有刘海传闻是真消息
没见过 pc 适配 safe area 的,纯粹是恶心人
2021 年 4 月 30 日
回复了 yukinotech 创建的主题 程序员 本地跨域问题
@fjc0k 这个思路可以有,感谢分享
2021 年 4 月 30 日
回复了 yukinotech 创建的主题 程序员 本地跨域问题
@SmiteChow 感谢分享,拓展了视野
1  2  3  4  5  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   873 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 22:17 · PVG 06:17 · LAX 14:17 · JFK 17:17
♥ Do have faith in what you're doing.