惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
T
Threat Research - Cisco Blogs
N
News and Events Feed by Topic
Hacker News: Ask HN
Hacker News: Ask HN
Project Zero
Project Zero
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
Security Latest
Security Latest
Spread Privacy
Spread Privacy
aimingoo的专栏
aimingoo的专栏
N
News and Events Feed by Topic
Webroot Blog
Webroot Blog
U
Unit 42
Cyberwarzone
Cyberwarzone
小众软件
小众软件
Scott Helme
Scott Helme
Engineering at Meta
Engineering at Meta
Microsoft Security Blog
Microsoft Security Blog
T
The Blog of Author Tim Ferriss
A
About on SuperTechFans
爱范儿
爱范儿
S
Schneier on Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Schneier on Security
Schneier on Security
Latest news
Latest news
GbyAI
GbyAI
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
The Register - Security
The Register - Security
WordPress大学
WordPress大学
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
PCI Perspectives
PCI Perspectives
Jina AI
Jina AI
AI
AI
NISL@THU
NISL@THU
I
Intezer
G
GRAHAM CLULEY
B
Blog
S
Secure Thoughts
IT之家
IT之家
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
酷 壳 – CoolShell
酷 壳 – CoolShell
有赞技术团队
有赞技术团队
V2EX - 技术
V2EX - 技术
Recorded Future
Recorded Future
Hacker News - Newest:
Hacker News - Newest: "LLM"

React

react 的旧文档网站,切换语言到中文,直接跳到新文档?? - V2EX react 这个技术栈到底是如何做到每天都有新发现的? 除了 next.js,在 2026 年,还有哪些 React 全栈框架推荐? - V2EX React 列表虚拟化如何实现使用 CSS Grid 布局的同时支持拖动元素? - V2EX 想不通, React 现代框架的设计者,为什么内置的 onClick 不默认防抖? - V2EX 关于低代码的选型,请佬们帮我分析一下 - V2EX 将 Markdown 文件导入为 React 组件 - 写作文档,即时获取交互式演示 - V2EX 现代 React 应用卡顿的主要原因是什么?组件库 vs 重渲染机制 - V2EX 前端开发进军 server 端还是问题很多 - V2EX 问一下, expo react native 的 TextInput 在小米系统下,显示有问题。大家有遇到么,如何解决。 - V2EX React Suite v6:面向现代化的稳健升级 - V2EX 各位总们,开发兼容到 ios 11 的 APP, RN 推荐吗 - V2EX expo-image 在使用时候必须要加 style 属性 ? - V2EX 佬们, 咨询一个前端 React 的开发效率问题, 就是如果想快速实现一个界面组件的效果,只需要 render 部分, 有什么好用的工具吗? - V2EX 2025 快过完了,有 ssr 需求的项目现在最佳选择是什么? - V2EX 在 react 中使用 signals 库 - V2EX react charts 技术选型 - V2EX 折腾了好几天总算在 windows 系统本地打包 expo 项目出 apk 了,分享下经验 - V2EX 一个 RN 小游戏代码修改的活 - V2EX 为什么 React-Native 总是昨天还能编译,今天就报错了 - V2EX React 19 下有什么方便点的组件? Arco Design 用起来还是有些问题 时隔多年再次用 react,请问 ahooks 的 useMemoizedFn 和 react 内置的 useEffectEvent 有什么异同? - V2EX 来个专业写 移动 web 前端的, React - V2EX 谁有闲工夫, React,帮忙定位并处理下 BUG react antd 就是包了巧克力的屎 - V2EX 提问一个 React 的问题 zustand create 出来的 useStore,需不需要 destory? - V2EX 关于 React: - V2EX Metis UI:下一代 React 组件库,重新定义前端开发体验 - V2EX React 组件库 Gluestack 出现多个恶意软件包 gpt 给我搞懵了,是我对 Suspense 理解有误吗? 有用 LiveKit 开发过视频语音会议系统的嘛 - V2EX RN 怎么构建输出 Java 的原生工程啊? 大佬们,有没有好用的 react.js 画布组件? 技术文章翻译: React 协调机制 - V2EX 不知道是 react 不行还是阿里不行, 或者是我电脑不行? 访问阿里云卡卡的.滚动一愣一愣的. 不敢相信在 2025,怎么自己 build/bundle + self-host 一个 ESM 版本的 react.js 和 react-dom.js 也是一个找不到官方答案的问题。问了 AI,答案也不靠谱 - V2EX 有没有熟悉 react native 的老哥,求帮忙看个问题 - V2EX React 写的越多,就越想直接操作 DOM - V2EX react native 有类似 antd/x 的 ai 对话组件库吗 - V2EX react 最佳技术栈是什么? - V2EX 是不是都用 expo-image 了,分享下 react-native-turbo-image - V2EX 用 AI 写了个 react 的资讯网站,才发现 SEO 很差,怎么办 - V2EX 反思,我写的前端的 react 味是不是太重了 - V2EX 小白求助,React 项目无法修改 - V2EX 被 antd 惯坏了,别的组件库用的很难受,大家有这种感觉吗? - V2EX React 学习曲线要比 Vue 陡峭许多呀 - V2EX 请教一个关于 useEffect 依赖的问题 - V2EX 请教一个 react native FlatList 的问题 - V2EX
React 多人开发怎么确保性能,有没有最佳实践 - V2EX
Chuckle · 2025-07-09 · via React

这是一个创建于 341 天前的主题,其中的信息可能已经有所发展或是发生改变。

一个小业务组件,随着需求迭代,越来越大,塞复杂表格、表单等等,上千行都有,导致状态一变连锁反应全都变,就算拆模块,也得 momo 、usecallback 啥的套,很容易又打破,也很麻烦。
像 data-grid 的案例都推荐用上下文去传数据了,避免小变化导致整个表格列重渲,但是在业务里用上下文多了,感觉更难维护数据流。

reference

Chuckle

1

Chuckle      2025 年 7 月 9 日

数据都从接口的来的,而且很大,不可避免的就是用上 useDeepCompareEffect ,在可编辑虚拟表格等场景下,能明显感觉卡顿,React scan 浏览器插件、f12 性能 tab 都用上,知道是因为重渲导致 deep 本身比较了两次耗时,用了挺多时间一层层排查,确保只渲一次,但未来这个平衡又可能随着需求迭代不经意间被打破。

songray

2

songray      2025 年 7 月 9 日

@Chuckle 用 Mobx 或者直接一步到位 Preact + Preact signal ,目前用下来 Preact 没什么兼容问题。

crysislinux

3

crysislinux      2025 年 7 月 9 日 via Android

当然是随缘啦。react 和 vue 其实还好,在 signal 时代之前的 angular ,一个页面尤其是有 form 的页面,渲染稳定之前跑几十次 change detection 也是稀松平常。

Chuckle

4

Chuckle      2025 年 7 月 9 日

@songray 个人项目试试,但司内是 umi+自己的 react 框架,不知道纯 react 怎么解决性能问题

Dreamful

5

Dreamful      2025 年 7 月 9 日

蹲一下,我也想问大家个问题
你们用 vue 把弹窗封装成组件的时候,关闭弹窗的方式是怎么样的?
我感觉父组件控制 visible 变量传给子组件,并且把这个变量绑定 v-if ,这样每次关闭组件重新打开都会初始化一次,不用考虑子组件初始化问题( ps:没有弹窗关闭后缓存数据的需求)
之所以问这个是因为公司有一个大屏项目是实习生写的,所有请求都写在父组件,然后子组件更新数据的时候都得调用父组件的方法来请求。 有些弹窗组件也是跟随大屏打开的时候就初始化了,导致有些变量 provide/inject 接收不到

linkopeneyes

7

linkopeneyes      2025 年 7 月 9 日

当然是不管,卡的不行再去管,当然前期什么虚拟滚动,Immer 默认都用上的情况下应该不会怎么卡的

user1284

8

user1284      2025 年 7 月 9 日

当然是命令 ai 狠狠优化了

songray

10

songray      2025 年 7 月 9 日

@Chuckle 那无解了兄弟。
React 两大原罪,一是 state 颗粒度太大,二是从根开始 diff ,上游的问题你没法从下游解决。

NessajCN

11

NessajCN      2025 年 7 月 9 日

变状态重渲染的只是状态所在的组件,你把组件拆细一点不就完了

alleluya

12

alleluya      2025 年 7 月 9 日   ❤️ 1

dan 不是说过么 90%的情况下都不需要考虑性能问题 哪怕重复渲染两次 换到国内业务开发的视角 业务新需求在不断迭代的情况下谁会过分关注性能问题 没到卡的不行的程度都不用管 问就是客户电脑配置不行

SanjinGG

13

SanjinGG      2025 年 7 月 9 日

@Dreamful 反正我目前是弹窗暴露方法,直接调用方法,参考 element 的,套组件的话用到的地方都要引入,还要管理一堆状态

microscopec

14

microscopec      2025 年 7 月 9 日

别担心,我们已经一个人接 20 个项目了,每天对接 3 个后端写接口,慢慢的以后不会再有机会多人合作一个项目了

shintendo

15

shintendo      2025 年 7 月 9 日

@Dreamful
我喜欢的做法:弹窗组件自己管理 visible ,自己发请求,自己管一切,对外暴露一个 open 方法,父组件调 open 打开弹窗。

rb6221

16

rb6221      2025 年 7 月 9 日

有最佳实践也不代表你们能执行啊,先把 code review 搞起来再说吧

zhhbstudio

17

zhhbstudio      2025 年 7 月 9 日

@Dreamful #5
1. visible 问题
我一般都是直接通过 v-model 传 visible ,内部通过 computed 处理 visible , 更新 visible 就 emit 事件出来。v-if 重新渲染是我不太能理解的方案(仔细想了一下,是因为非必要不渲染?
2. 子组件自用数据肯定是自己处理。如果是类似新增这种弹窗,那再传一个 @refresh="getData" 子组件更新成功再 emit (‘refresh’)

provide/inject 用的很少

xiaoming1992

18

xiaoming1992      2025 年 7 月 9 日 via Android

看看 useTransition 能不能缓解卡顿

shui14

19

shui14      2025 年 7 月 9 日

你应该把不同类型的表单抽出去,而不是想着生成表单。表单特殊,就是 jquery 都无解
早几年怎么吐槽 antd 的,一大半就是因为它的表单过度封装
题外话,回复楼上,人家 pmndrs resium rn 都能优化,为什么不行

shunia

20

shunia      2025 年 7 月 9 日

把过于复杂,性能要求高的 react 组件抽出来,做成高性能的 react 组件或者直接做成原生 html+js 组件。

什么都用 react 或者 vue 只会害了你。

shunia

21

shunia      2025 年 7 月 9 日   ❤️ 1

@shunia #20 加一句:react 或者 vue 等等几乎所有框架,都不是为了性能而生的。

kakki

22

kakki      2025 年 7 月 9 日

给弹窗组件一个 ref, 直接调用 ref 方法.鸡零狗碎的状态太多就很烦,能自我管理尽量自我管理.

lanten

23

lanten      2025 年 7 月 9 日

最佳实践是什么,是问出来的吗?这个推荐那个推荐,不如自己推荐

leokun

25

leokun      2025 年 7 月 9 日

从业务角度来说,表单的性能高低不会有一毛钱的影响

hahaFck

27

hahaFck      2025 年 7 月 9 日

@shintendo 这样会有另外一个问题,就是弹窗关闭了,弹窗组件没有摧毁掉,在重新打开后,数据还是跟上次一样的,每次打开都是上次打开的结果,也挺烦的。

liuliancc

28

liuliancc      2025 年 7 月 9 日

@Dreamful #5 我一般父元素通过双向绑定 v-mode visible 控制,子元素 prop visible 、emit('change:visible', true/false),也不会重新渲染、丢失动画

jianv3

29

jianv3      2025 年 7 月 9 日

虚拟列表。 几万条数据也无所谓

anivie

30

anivie      2025 年 7 月 9 日

@liuidetmks 真的卡的时候想去优化已经不可能了,只有重写,大部分卡的批爆的网页都是这么来的

AV1

31

AV1      2025 年 7 月 9 日

换个角度想,当你的数据有成千上万行时,你应该考虑提供分页、排序、搜索、筛选、摘要功能,方便用户定位到想要的数据。

Chuckle

32

Chuckle      2025 年 7 月 9 日

把 rxjs 和 context 结合起来咋样,需要暴露和传递的数据,别 props 一层层传状态,让组件订阅所需外部状态的变化,而不是从 props 中获取,感觉有空可以琢磨下

Dreamful

35

Dreamful      2025 年 7 月 10 日

@liuliancc 主要是组件加载时机,有时候不希望子组件一开始就加载,每次打开都重新加载。感觉不如父组件直接加 v-if 省事

realJamespond

36

realJamespond      2025 年 7 月 10 日

换 zustand 细粒度更新,直接子组件之间互相作用,绕过 state+context 从根组件全刷

lstmxx

37

lstmxx      2025 年 7 月 10 日

@hahaFck 写一个 reset 函数,close 的时候调用吧,我是这么做的