标签
内容简介
本书是 O'Reilly 经典前端技术书《Learning React》第二版的中文版,面向已经会写 JavaScript、了解 HTML 与 CSS 基本用法,但尚未系统接触 React 或函数式 JavaScript 的开发者。全书共 12 章,前半部分先用相当篇幅重讲语法基础:ES6 之后的变量声明、模板字符串、默认参数、箭头函数、解构赋值、展开运算符、Promise、类与模块,随后进入函数式编程的核心概念,包括不可变性、纯函数、数据变换、高阶函数、递归与组合。 在打牢语言基底之后,书中才转入 React 本体:虚拟 DOM 与 React 元素的含义、用 JSX 与 Babel、webpack 搭建构建流程、组件、props、state 与组件树、属性验证、refs 与数据的逆向流动,再讲到组件生命周期、用 fetch 发起请求、集成 D3 等第三方库、高阶组件,以及 Flux 的思路。后半部分依次展开 Redux(action、reducer、store、中间件)、React Redux 的 Provider 与 connect、用 ESLint 与 Jest 做测试和快照测试、React Router 的路由与嵌套路由,最后落在服务端渲染与同构(universal)应用上。全书以一套贯穿的配色管理示例串起各章代码,属于少见的「从语言到架构」完整铺垫型 React 教程。本版相较初版加入了 Hooks 等现代写法的讲解。
编辑推荐
市面上的 React 书大致分两类:一类是「快速上手」,直接把你丢进 JSX 和 Hooks;另一类是「讲清来路」,先解释这门库为什么长成今天的样子。这本属于后者,这也是它最值得推荐的地方。 作者用前三章的篇幅处理 ES6 与函数式编程。不可变性、纯函数、高阶函数、函数组合这些概念,很多人是在写 React 时被反复踩坑才补上的,而在本书里它们先于 React 出现,后面讲到 reducer 与 state 管理时你会明显感到顺畅。第 4 到第 7 章从虚拟 DOM、React 元素一路讲到组件树中数据的上下流动、生命周期与高阶组件,配合一套贯穿全书的配色管理案例,代码是一点点长出来的,不是零散片段。 后半本的价值在于「整条链路」:Redux 的概念与中间件、React Redux 的 Provider 与 connect、ESLint 与 Jest 下的测试与快照测试、React Router 的嵌套路由,最后用两章讲服务端渲染与同构应用。这种从语言基础到可选架构的完整路径,是很多入门书不愿花篇幅去做的。 需要提醒的是,作为 2021 年出版的译本,它对 Hooks 与函数组件的覆盖不如专门的 Hooks 主题书深入,示例中的部分工具链版本也已显旧;但正因成书早于 React 生态的大幅简化,它对「为什么需要 Redux、为什么需要同构」的解释反而更扎实。适合当作打地基的一本,配合官方文档一起读。
适合谁读
适合
- 已会写 JavaScript,但没系统用过 React 的前端开发者
- 想补上函数式编程与 ES6 基础、再学框架的自学者
- 需要理解 Redux、路由、服务端渲染完整链路的工程师
- 计算机相关专业学生或转行前端的求职者
不适合
- 完全没有 JavaScript 基础、零编程经验的读者
- 只想要 Hooks 与最新函数组件写法、追求即刻上手的人
- 需要 TypeScript 或 React Server Components 等新主题的进阶读者
阅读建议
- 先读完前三章语言与函数式部分并动手敲示例,不要跳过
- 跟着书中的配色管理案例逐步搭建项目,比零散读代码收获大
- 读到 Redux 与同构章节时对照官方文档,注意工具链版本差异
- 把本书当作地基读物,配合 React 官方文档的 Hooks 部分使用
目录
- 前言
- 第1章 初识React
- 1.1 坚实的基础
- 1.2 React的过去和未来
- 1.3 资源文件
- 1.3.1 资源仓库
- 1.3.2 React开发者工具
- 1.3.3 安装Node.js
- 第2章 JavaScript新特性
- 2.1 ES6中的变量声明
- 2.2 箭头函数
- 2.3 ES6转译
- 2.4 ES6的对象和数组
- 2.5 Promise对象
- 2.6 类
- 2.7 ES6模块
- 第3章 JavaScript函数式编程
- 3.1 什么是函数式编程
- 3.2 命令式和声明式
- 3.3 函数式编程基本概念
- 第4章 React进阶
- 4.1 建立页面
- 4.2 虚拟DOM
- 4.3 React元素
- 4.4 ReactDOM
- 4.5 子节点
- 4.6 使用数据构造元素
- 4.7 React组件
- 4.8 DOM渲染
- 第5章 React与JSX
- 5.1 React元素和JSX
- 5.2 JSX小技巧
- 5.3 Babel
- 5.4 菜谱与JSX
- 5.5 Webpack简介
- 第6章 Props、State和组件树
- 6.1 属性验证
- 6.2 引用
- 6.3 React的State管理
- 6.4 组件树的内部State
常见问题
这本书需要有 JavaScript 基础吗?
需要。书中前几章会系统梳理 ES6 语法与函数式概念,但默认你已能读懂基本语法、了解 HTML 与 CSS 在浏览器中的作用,否则会被示例节奏甩开。
第二版和初版有什么区别?哪个版本更好?
初版由邓世超翻译,2017 年出版,ISBN 9787519814236,共 318 页;第二版由安道翻译,2021 年出版,共 361 页,ISBN 9787519856540,补充了 Hooks 等现代写法,内容更新,建议选第二版。
这本书讲的是 Hooks 还是类组件?
两者都有。第二版在组件、状态管理与数据获取部分引入了 Hooks,同时保留大量类组件与生命周期讲解,因此读起来能看到 React 从类组件向函数组件过渡的完整脉络。
书里的技术内容现在会不会过时?
书中 webpack、Babel 配置与部分工具版本已显旧,Redux 的写法也非最新推荐方式;但虚拟 DOM、组件树、纯函数 reducer、同构渲染等原理性内容并不过时,建议对照官方文档同步更新写法。
适合用来准备前端面试吗?
可以作为原理层面的补充。它对组件树数据流、生命周期、Redux 数据流、服务端渲染的解释较为完整,但缺少算法题与最新框架特性,面试准备还需另配资料。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。