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

推荐订阅源

博客园 - 【当耐特】
K
Kaspersky official blog
V
Vulnerabilities – Threatpost
Hacker News - Newest:
Hacker News - Newest: "LLM"
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Secure Thoughts
I
Intezer
TaoSecurity Blog
TaoSecurity Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Spread Privacy
Spread Privacy
A
About on SuperTechFans
NISL@THU
NISL@THU
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
S
Security @ Cisco Blogs
S
SegmentFault 最新的问题
G
Google Developers Blog
B
Blog
N
News and Events Feed by Topic
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google DeepMind News
Google DeepMind News
V2EX - 技术
V2EX - 技术
V
Visual Studio Blog
MyScale Blog
MyScale Blog
Webroot Blog
Webroot Blog
Vercel News
Vercel News
IT之家
IT之家
Microsoft Security Blog
Microsoft Security Blog
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
S
Security Affairs
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Stack Overflow Blog
Stack Overflow Blog
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
博客园 - 叶小钗
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Know Your Adversary
Know Your Adversary
T
Tailwind CSS Blog
F
Fortinet All Blogs
D
DataBreaches.Net
博客园 - Franky
博客园_首页
H
Heimdal Security Blog
宝玉的分享
宝玉的分享
阮一峰的网络日志
阮一峰的网络日志
Attack and Defense Labs
Attack and Defense Labs
Project Zero
Project Zero
雷峰网
雷峰网

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 的时候调用吧,我是这么做的