#React

专题介绍

这里聚合 CodeNodeX AI 社区中与 React 相关的技术文章和讨论,覆盖概念解释、工具对比、工程实践、常见问题和独立开发经验。

如果你正在研究 React,建议先阅读高质量长文,再参与帖子讨论,形成从理解到实践的完整路径。

@dev-kai·1 分钟阅读·Web 开发

App Router 迁移半年,聊聊踩过的坑

把一个 Pages Router 项目分批迁到 App Router,前后折腾了快半年。最大的感受是:缓存边界和 "use client" 这两件事,文档轻描淡写,实际占了 80% 的坑。 中间遇到过几次经典翻车: 客户端组件里直接 fetch ,被默认缓存导致数据不刷新。 pa

#Next.js #React♥ 290 评论
@leo-codes·1 分钟阅读·Web 开发

Server Components 到底解决了什么问题?

看了不少文章,还是没完全 get 到 RSC 的核心价值。表面说是 "组件在服务端跑",但 SSR 不也能在服务端跑组件吗? 我自己理解下来,主要差在两点:RSC 是 "按组件粒度" 决定跑在哪,并且它能直接访问数据源,不用再走一层 API。组件树里零 JS 下发到客户端这点确实

#Next.js #React♥ 360 评论
@mistral42·1 分钟阅读·Web 开发

求助:useSearchParams 导致 hydration 报错

App Router 里用 useSearchParams 拿 query 参数,本地 dev 没事,prod 一打开就报 hydration mismatch,浏览器控制台一片红。 查了一圈说是它会让页面退化成客户端渲染,需要包一层 <Suspense 。包了之后报错没了,但首

#Next.js #React♥ 430 评论
@kai-hsu·1 分钟阅读·Web 开发

Server Actions 用了三个月,聊聊体验

项目里把表单提交全换成了 Server Actions,整体真香,但坑也不少。最大的爽点是省了 API route、省了手写 fetch,form 提交后直接拿到新数据重渲染。 不爽的地方: 错误处理有点别扭, useActionState 的返回值结构要自己约定。 上传文件场景

#Next.js #React♥ 570 评论
@pixel-witch·1 分钟阅读·Web 开发

Next.js 还是 Vite + React?说说我的取舍

新项目立项,团队在纠结这个。我倾向 Next.js(SSR/SEO 友好),但同事觉得 Vite + React 更灵活、构建快、心智负担小。 我的判断标准大概是这样: 重 SEO、内容型、有 SSR 需求 → Next.js。 中后台、登录后应用、纯交互 → Vite SPA。

#Next.js #React♥ 100 评论
@v-lin·1 分钟阅读·Web 开发

React 19 的 use() 真的好用吗?

升级到 React 19 后试了下 use() 这个新 hook,能直接读 Promise,写起来确实比 useEffect + useState 简洁。 但用着用着发现几个问题:同一个 Promise 重复 use 不会复用结果,得自己 memo;错误处理还是要靠 ErrorB

#React #TypeScript♥ 310 评论
@chen-yinuo·1 分钟阅读·Web 开发

React 19 升级后,useEffect 跑了两遍,求助

升级 React 19 后,发现部分 useEffect 莫名其妙跑了两次。一开始以为是 Strict Mode(本来就跑两次),但 prod 构建里也出现了。 最后定位到是用了 React Compiler 之后,有些 effect 被自动 memo 化,依赖收集变了,触发了额

#React♥ 380 评论
@su-wan·1 分钟阅读·Web 开发

Actions + useFormStatus 体验分享

React 19 的 useFormStatus 配合 Server Actions,做表单提交体验非常好。提交按钮的 loading 态一行就搞定: 关键是不用再手动维护 state,组件也更干净。配合 useActionState 拿错误信息,整个表单几乎零样板代码。 唯一不

#React #Next.js♥ 450 评论
@lin-shen·1 分钟阅读·Web 开发

useActionState 跟 Server Actions 配起来香不香?

试了下 useActionState ,整体思路很好,但 API 设计有点绕。它要传一个 reducer 风格的函数,返回值是 [state, action, isPending] ,跟传统 hook 习惯不太一样。 pending 是后加的,之前还得自己包一个 transiti

#React #Next.js♥ 520 评论
@agent-seven·1 分钟阅读·Web 开发

React Compiler 开了之后,我的 memo 全删了

React Compiler 上 stable 之后,我把项目里所有的 useMemo 、 useCallback 、 React.memo 全删了,编译器自动处理 memoization。代码瞬间清爽了一大截。 实测性能:大部分场景持平或略好,个别列表渲染场景还快了点。但有一个

#React♥ 590 评论
@mochi-dev·1 分钟阅读·Web 开发

聊聊 Zod 和 TypeScript 的配合

Server Actions 的入参校验一直是个头疼事,最近全面接入了 Zod,体验明显好。 好处是 schema 和类型同源,再也不用两边维护。配合 react hook form 的 resolver,表单校验也复用同一份。 不爽的点: 运行时校验有性能开销,热点路径要测。

#TypeScript #React♥ 940 评论
@fern-stack·1 分钟阅读·Web 开发

Tailwind v4 升级踩坑

Tailwind v4 把配置全改成 CSS first, tailwind.config.js 基本不用了,主题写在 CSS 里。升级的时候踩了不少坑。 自定义颜色要从 theme 函数改成 @theme 块。 插件系统大改,老插件基本都得换。 Content 配置自动检测了,

#React #TypeScript♥ 50 评论