Wink Pings

AI写的React能编译,但可能错得很整齐

Matt Pocock在React Advanced会议上被问:AI写代码,软件基础还重要吗?他的回答是更重要。评论区有人补了一刀:agents会以10倍速度复制你仓库里糟糕的React模式。

AI 写的 React 能编译,能跑,能过测试。然后它把该用派生状态的地方写成了 useEffect。

Matt Pocock 在 React Advanced Conference 的演讲标题是一个问句:如果 AI 写代码,软件基础还重要吗?他在 X 上把问题收窄了一步:具体说,理解 React 还重要吗?

他的回答是:是,而且比以往更重要。

这场演讲 31 分钟,GitNation 上有完整录像:https://gitnation.com/contents/why-software-fundamentals-still-matter

Matt Pocock

评论区里,有人把“能编译但做错事”说得更具体。网友 Shivanshu 列了几个典型错误:stale closures,该用派生状态却写成 effect,'use client' 到处喷。他说,能在 10 秒内看出这些的人,才是审 PR 的人。

给不写 React 的读者补一句:React 是前端 UI 库,用组件和状态描述界面。上面这些错误不会让构建失败,但会让界面行为变怪,或者让代码库越来越难改。编译通过只说明语法和类型没炸,不说明逻辑对。

有人追问 Matt:为什么比以前更重要?

Matt 的回复很直接:这类知识过去只放大一个开发者的产出,也就是你自己;现在它能放大到预算允许的任意多个 agent。换句话说,你懂 React,不只意味着你自己写得快。你还能同时判断多个 agent 写出来的东西,给它们设模式,在它们跑偏时抓住问题。

另一个回复补了更现实的一刀。网友 brav 说,agents 会复制仓库里已有的模式。如果你的 React 写得烂,现在会以 10 倍速度复制烂 React。总得有人设定值得复制的模式。

也不是所有人都同意。网友 nk 说,他想说“是”,但最近开发中理解 React 没帮上太多忙,问自己是不是哪里做错了。Len Seaside 更直接:React 不重要,理解 React 大约和继续理解 Macromedia Flash 一样重要。Nanne 说,他不认为 React 是当前浏览器应用的最优方式,但 JSX 和组件可以留下。

这些反对声不能忽略。有人不靠 React 吃饭,也不是所有项目都需要 React。但讨论可以落到更一般的问题上:AI 写代码时,人还得能判断代码在干什么。

有网友在回复里贴了自己 7 个月构建 AI agent 的经验,作者是 Mjay。他的结论是:提示词能降低代码腐烂的起点,改变不了腐烂的斜率。护栏要能拒绝,规则不能放在 agent 能改的仓库里。检查要有三种结果:允许、拒绝、没测到。超时不能算通过。这个例子跟 React 无关,但逻辑一样。只靠提示词告诉 agent“写好一点”,不如把规则变成每次修改都会执行的东西。

Matt 说的理解 React,是人的判断。Mjay 说的是把判断固化成机制。两者都指向同一件事:agent 速度上来后,基础知识和硬约束更值钱。

React 会变,JSX 和组件也可能变。没必要神话任何框架。但看懂状态怎么流、闭包捕获了什么、哪些模式会把代码库带进沟里,这些能力不会因为 AI 会写代码就贬值。AI 把写代码的速度提上去了,也把犯错的规模提上去了。真正的问题是:AI 写错了,你能不能看出来。

发布时间: 2026-11-06 20:27