最近我想通过做一个博客项目来学习前端。为了能真正学到东西,我把方法从“让 AI 帮我写代码”改成了“让 AI 教我写代码”。 结果,它直接给我甩来一套工业级的技术栈,各种概念让我眼花缭乱。照着敲了一天代码,我感觉自己像个无情的打字机,啥也没学到。 就在我纠结于一个页面改动时,AI 提到了“Server Components(服务器组件)”这个词。看着这个完全陌生的名词,我冒出一个想法。 在学习一门新技术的过程中,我常常会陷入一种“一叶障目,不见泰山”的困境。每一个新冒出来的名词,都像是一片遮住视线的叶子,让我只见树木不见森林。但反过来想,我们现在的知识体系都是成体系的,那体系里的各个部分一定都有很多关键概念。
能否从单个概念出发,顺藤摸瓜,找到整个知识体系的地图呢?
于是,我停止了盲目敲代码,开始了一场基于提问的“地图绘制”实验。
从第一个概念出发
我首先问 AI:“服务器组件是什么意思?” 它告诉我,React 组件按运行环境分成了服务器组件和客户端组件。服务器组件在后端跑,客户端组件在浏览器跑。这里我卡了一下壳,因为这两个词听起来像是平级的对立概念。但我仔细一想,这是在一个特定的维度(运行环境)上的划分,就像问这辆车是在市区跑还是野外跑。 厘清了概念的维度边界,我脑海中理解障碍消除了一大半。
找到同级的概念
既然在这个维度有这两个组件,那其他维度呢?我接着问 AI:“除了这两个组件,还有其他组件吗?” AI 给我列出了一串名单:Error Boundary(处理错误)、Suspense(处理异步加载)、HOC(高阶组件)、Render Props、Custom Hooks(自定义 Hooks)。 看到这个列表,我瞬间明白了:在 React 中,“组件”本身就是一大块极其丰富的知识。有的负责容错,有的负责异步,有的负责逻辑复用。把这些同类概念横向对比,我脑海里关于“组件”的画面一下子变宽了。
扩散到更多的概念
知道了有哪些组件后,我继续追问:“这些组件在整个体系中处于什么位置?有哪些密切相关的概念?” 这一次,AI 跟我讲了 Props 与 State,Hooks,Context 与 状态管理,路由,数据获取与样式方案,框架与打包工具。 听到这些,我脑海中已经有了一张模糊的地图:组件是中心的太阳,数据(Props/State)、逻辑、路由、打包工具都是绕着组件转的行星。组件绝不是孤立存在的,它需要一整套生态来支撑运行。
从已有的概念找路径
虽然有了一张模糊的地图,但现实很骨感——我现在知道的只有 HTML、CSS、JS。拿着这张高级地图,我连第一步往哪迈都不知道。 于是我问 AI:“从纯粹的 JS 到 React,渐进式的学习路线是怎么样的?” AI 给了我一把包含几个阶段的学习计划:第一阶段打地基(补齐 JS 基础);第二阶段核心入门(搞懂 JSX、函数组件、Props);第三阶段注入灵魂(掌握核心 Hooks);往后是工程化与进阶。
完成最初的概念到地图的链接
在这个学习计划的第二阶段里,我看到了一个词:函数组件。这让我马上产生了一个疑问——之前我了解的是“服务器组件”,现在又冒出个“函数组件”,它们是什么关系? 我又跑去问 AI。原来,函数组件是“语法维度”的分类(代码长什么样),而服务器组件是“环境维度”的分类(代码在哪跑)。它们根本不冲突,现代项目里的客户端组件几乎全都是用函数组件语法写的。 恍然大悟!这一下,整个地图彻底清晰了。我当初想了解的“服务器组件”,其实是位于“第二阶段(组件)”这个节点中的一个进阶概念。有了这张地图,它的前置依赖(JS 基础、函数组件语法)和后置进阶(状态管理、全栈框架)就全都清清楚楚了。
找到拼图的方法
复盘这次经历,我发现我其实做了一次非常有价值的思维实验:
- 有新概念 -> 搞清它的定义和所属维度。
- 横向扫描 -> 找到它的同类,拼出这一块的知识版图。
- 概念扩散 -> 看它在整个生态系统里的位置和周边依赖。
- 已知出发 -> 结合自身现状,把它变成一条可执行的渐进式路线。
- 完成链接 -> 把最开始的概念链接到渐进式路线的地图中。
按照这个方法,下次我再遇到新的概念,就不会再感到慌乱。我只需要重复这套逻辑,找到一条新的路径,把它拼进我已有的这张地图里。 这样不断迭代,我不再是无脑跟着 AI 抄代码的打字机,而是一个真正在构建自己知识体系的工程师。最终,我一定能完成整个体系的学习。
