这本书是为想要用React、Redux、Babel 和Webpack 搭建Web 应用程序的程序员准备的。与其他技术栈相比,这个技术栈(指的是React、Redux、Babel、Webpack 以及社区中众多与此相关的优秀工具)的学习成本并不低,但是其中的智慧与思想却着实令人赞叹:
√清爽的组件代码结束了满屏HTML 标签与类名的噩梦;
√声明式地将数据映射为界面减少了烦琐的DOM操作;
√高阶函数、管道、柯里化等函数式编程思想的运用使得复杂逻辑的处理变得相当简单;
√自动化构建编译技术降低了源代码与静态资源的管理成本。
随着时间的推移,技术工具或许很快会更新换代,但是这些前端工程中的实践思想却不会轻易过时。如果你不仅想学习这些技术的使用方法,更想了解这些技术背后所包含的思想与智慧,那么真诚地建议你阅读本书。
《React与Redux开发实例精解》共分四部分,全面介绍如何使用React 与Redux 进行Web 开发。第一部分是基础篇,介绍React 与Redux 的基础知识;第二部分是进阶篇,通过精彩的官方示例学习React 与Redux;第三部分是拓展篇,主要学习一些优秀的第三方拓展;第四部分是实战篇,将会带领读者一步步搭建大型Web 应用程序。
《React与Redux开发实例精解》适合熟悉JavaScript 编程,有意使用React 与Redux 搭建Web 应用的程序员学习参考。
致读者
第一部分 基础篇
第1章 技术简介
React
Redux
Node与Universal渲染
Babel
Webpack
总结
第2章 在Node.js中运行 React
例子
编写React组件
在Node.js中渲染组件
使用Babel编译运行Node.js程序
Require Hook 简介
使用Require Hook的步骤
总结
第3章 在浏览器中运行React
例子
组件复用
在浏览器中渲染React组件
使用Webpack打包编译
在浏览器中运行
总结
第4章 开发服务器和热替换
例子
安装
配置Babel
使用react-hmre预设
react-hmre的功能
配置Webpack
配置Express服务器
总结
第5章 React的创新语法:JSX
例子
JSX简介
JSX常用语法
类似HTML
JavaScript表达式
样式
注释
数组
HTML标签 vs. React组件
总结
第6章 React的数据载体:state、props与context
例子
State
Props
使用props
验证props
组合使用state与props
Context
使用props传递数据
使用context传递数据
Props与context的适用场景
在React开发者工具中查看
总结
第7章 React的两个对象:ReactElement与组件实例
例子
ReactElement
JSX中的闭合标签是ReactElement
ReactElement是什么
ReactElement的两种类型
React组件的渲染流程
组件实例
组件实例简介
组件、ReactElement与组件实例的区别
组件实例的生灭:生命周期函数
React组件中的this
总结
第8章 初识Redux
例子
Action
Reducer
定义
纯函数
不能修改参数state
Store
职能
创建
获取与监听
发起action
总结
第9章 Action创建函数与Redux Thunk中间件
例子
Action创建函数
编写
发起
意义
Redux Thunk中间件
功能
安装激活
总结
第二部分 进阶篇
第10章 React与Redux的连接:手动连接
例子
手动连接的步骤
编写React组件
编写Redux
将Redux手动连接到React组件
手动连接的缺点
总结
第11章 React与Redux的连接:使用react-redux连接
例子
连接步骤
多种写法
连接原理
Provider工作原理
connect工作原理
展示组件与容器组件
总结
第12章 实现撤销/重做
例子
撤销/重做
Redux开发者工具
安装
使用
Redux并不“低效”
总结
第13章 测试
例子
测试工具
Mocha
Enzyme
Expect
测试action创建函数
测试React组件
测试容器组件
测试reducer纯函数
运行测试脚本
总结
第14章 Redux的全局状态与React组件的内部状态
例子
全局状态与内部状态的定义
全局状态完全替代了内部状态?
全局状态与内部状态的适用场景
总结
第15章 React与Redux中的数组处理
例子
reduce()
概述
语法
示例
filter()
概述
语法
示例
map()
概述
语法
示例
every()
概述
语法
示例
some()
概述
语法
示例
展开运算符
概述
语法
示例
总结
第16章 Redux的大舞台:异步
例子
JavaScript事件驱动编程
Promise
Redux中的异步
异步action创建函数
异步请求前后的state变化
State tree结构
查看state tree
如何构建state tree
异步与变化
准备工作
追踪异步与变化
总结
第17章 自定义Redux中间件
例子
中间件的功能
中间件的编写
中间件的执行
自定义API中间件
总结
第18章 Universal渲染
例子
公用一套代码
服务端渲染
客户端渲染
总结
第三部分 拓展篇
第19章 Universal渲染神器:Webpack同构工具
例子
Webpack同构工具的功能
服务端调用
客户端调用
真实场景
配置服务器的入口
独立开发服务器
配置Webpack
配置Webpack同构工具
在服务端和客户端使用require()
总结
第20章 多页面的实现:路由
例子
路由也是组件
路由匹配
使用Link和IndexLink导航
服务端路由
总结
第21章 多页面下的异步操作
例子
redux-amrc
功能
配置
使用
Action与state
API
多页面下的异步操作
编写测试API
预载数据
手动加载数据
操作数据
总结
第22章 使用Bootstrap
例子
bootstrap-loader
基本用法
配置
PostCSS与Autoprefixer
简介
用法
React-Bootstrap
总结
第四部分 实战篇
第23章 搭建大型项目
例子
开发服务器
开发环境下的Webpack配置
Webpack同构工具的配置
独立的开发服务器
启动开发服务器
前端服务器
配置前端服务器
使用组件渲染HTML页面
启动前端服务器
API服务器
配置API服务器
启动API服务器
生产环境下的构建编译
编译运行Node.js
生产环境下的Webpack配置
公用代码
工具集
路由与页面
质量保证
测试
Airbnb编码规范
去毛机
EditorConfig
总结
第24章 表单
例子
高阶组件ReduxForm
设置
简单表单
同步验证表单
异步失焦验证表单
提交表单到服务器
总结
第25章 图表与表格
例子
图表组件
表格组件
从服务器获取数据
总结
第26章 用户认证
例子
编写认证API
Express-session中间件
加载当前认证状态
登录与登出
API权限保护
发送cookie
编写用于认证的action创建函数
登录页面和导航栏
前端路由保护
总结
第27章 部署
例子
Heroku平台
安装工具并登录
准备程序
部署程序
其他操作
持续集成
与生产相关的问题
总结
第28章 其他资源
在线文档
参与社区活动
致读者
这本书是为想要用React、Redux、Babel 和Webpack 搭建Web 应用程序的程序员准备的。与其他技术栈相比,这个技术栈(指的是React、Redux、Babel、Webpack 以及社区中众多与此相关的优秀工具)的学习成本并不低,但是其中的智慧与思想却着实令人赞叹:清爽的组件代码结束了满屏HTML 标签与类名的噩梦;声明式地将数据映射为界面减少了烦琐的DOM操作;高阶函数、管道、柯里化等函数式编程思想的运用使得复杂逻辑的处理变得相当简单;自动化构建编译技术降低了源代码与静态资源的管理成本。随着时间的推移,技术工具或许很快会更新换代,但是这些前端工程中的最佳实践思想却不会轻易过时。如果你不仅想学习这些技术的使用方法,更想了解这些技术背后所包含的思想与智慧,那么我真诚地建议你阅读本书。
阅读本书之前的准备
想要很好地理解本书的内容,你需要具备一定的Node.js 和ES2015、ES2016 基础,至少要了解一些常见的概念,例如NPM、模块系统、常量、函数、装饰器和类。除此之外,你最好还熟悉JavaScript 程序在服务器和浏览器环境下的调试技术。
学习本书示例代码时,大部分时间都要在命令行中进行操作。因此,你应该能够熟练使用自己操作系统中的命令行工具。
本书附带的程序是开源的,全部上传到了GitHub。这些示例程序中的开发经验来自开源社区和笔者自己的实践思考。我不认为这是使用React 与Redux 开发Web 应用程序的唯一方式。你可以将其作为参考,如果有更好的想法,强烈建议你将其贡献给社区,与更多的开发者一起交流进步。
最后要说明的是,本书因篇幅有限等原因,无法对每一项技术的讲解都做到完整而详尽。因此,你还需要根据书中的提示和推荐,去阅读参考相应技术的官方文档。
本书的内容安排
本书分为四部分。
第一部分 基础篇 主要介绍React 与Redux 的基础知识。
第1 章 简要介绍本书所要讲解的技术,包括React、Redux、Node 与Universal 渲染、Babel 及Webpack。
第2 章 讲解如何在Node.js 中运行React。
第3 章 讲解如何在浏览器中运行React。
第4 章 介绍开发服务器和热替换技术及其实现过程。
第5 章 介绍React 的创新语法:JSX。
第6 章 介绍React 的数据载体:state、props 与context。
第7 章 介绍React 的两个对象:ReactElement 和组件实例。
第8 章 介绍Redux 的action、reducer 与store。
第9 章 介绍Redux 的action 创建函数和��unk 中间件。
第二部分 进阶篇 通过精彩的官方示例学习React 与Redux。
第10 章 讲解如何手动将Redux 连接到React 中。
第11 章 讲解如何使用react-redux 将Redux 连接到React 中。
第12 章 介绍Redux 的撤销/重做和Redux 开发者工具的使用。
第13 章 讲解如何在React 与Redux 的程序中编写测试。
第14 章 讨论Redux 的全局状态与React 组件的内部状态。
第15 章 讲解React 与Redux 中常用的几种数组处理方法。
第16 章 介绍Redux 中的异步处理。
第17 章 介绍如何自定义Redux 中间件。
第18 章 讲解如何使用React 与Redux 实现Universal 渲染。
第三部分 拓展篇 学习一些优秀的第三方拓展。
第19 章 介绍Webpack 同构工具。
第20 章 介绍React Router,并通过它实现Universal 路由。
第21 章 介绍多页面下的异步处理。
第22 章 介绍了bootstrap-loader、PostCSS、Autoprefixer 和React-Bootstrap。
第四部分 实战篇 一步步搭建大型Web 应用程序。
第23 章 介绍一个大型项目的基本结构。
第24 章 使用ReduxForm 制作各种表单。
第25 章 实现图表与表格。
第26 章 实现用户认证。
第27 章 讲解部署到Heroku 的方法,并实现持续集成。
第28 章 列出其他资源。
如何使用示例代码
本书使用的示例代码可在GitHub 上获取:https://github.com/lewis617/react-redux-book 和https://github.com/lewis617/react-redux-heroku。
除了第1 章和第28 章外,本书每个章节都有一个示例程序。前三部分使用了短而精的示例代码,独立地演示技术的功能。从第四部分开始,每一章的例子都会建立在前一章例子的基础上,最后完成一个大型项目的搭建。
另外,为了方便部署到Heroku,并实现持续集成,第27 章的例子被独立到了另一个GitHub仓库中,也就是上述的第二个GitHub 仓库。
致谢
在写这本书的过程中,家人、朋友、领导、同事都给我了很多帮助。没有他们,我是不可能完成本书的,在此表示由衷的感谢。
首先我要特别感谢王祖超、梁锦津、宋兵、陈仕杰、屈光宇、吕明岩,他们在本书撰写的不同阶段审阅了书稿,并对书稿涵盖的内容和组织方式给予了建设性建议。
还要感谢电子工业出版社的许艳编辑,她对本书进行了出色平稳的编辑,并给予我无尽的支持、建议和协助。
最后,感谢在GitHub 社区中为本书提供帮助的人:
Dan Abramov(Redux 的作者)
Nikolay Nikolaev(Webpack 同构工具的作者)
Erik Rasmussen(ReduxForm 的作者)
Eric Ferraiuolo(serialize-javascript 的贡献者)
Mihail Diordiev(redux-devtools-extension 的作者)
他们积极热心地回复我提交的Issue,为本书提供了重要的技术支持。
这本书真的给了我太多惊喜,作为一名长期在前端领域摸爬滚打的开发者,我总觉得在React和Redux的组合拳上,总有些深层次的理解不够透彻,尤其是在处理一些复杂状态管理、性能优化以及异步操作的精妙之处。这本书的优点在于,它没有停留在表面概念的堆砌,而是深入到源码层面,用大量详实的案例来解析每一个API、每一个设计模式背后的逻辑。我特别喜欢它在讲解Redux中间件的部分,比如thunk和saga,作者不仅给出了清晰的代码示例,还详细剖析了它们如何与store进行交互,如何处理异步任务的生命周期,这让我豁然开朗,之前很多模棱两可的理解瞬间变得清晰。而且,书中对React的性能优化技巧也讲得非常到位,比如useCallback、useMemo的使用场景,虚拟DOM的diffing算法的原理,以及如何利用React.memo来避免不必要的重渲染,这些都是实实在在能够提升应用性能的干货。我曾经也看过一些其他的React/Redux书籍,但这本书在深度和广度上都给我留下了深刻的印象,它更像是一位经验丰富的导师,循循善诱地引导你走向精通。
评分我是一个从Vue转向React的开发者,起初对Redux的概念有些困惑,因为Vuex的模式与Redux有相似之处,但又有不少细节上的差异。这本书就成了我在这条学习路径上的“引路人”。它从React组件的props-down,state-up的基本原则出发,循序渐进地引入Redux,让我能够理解为什么需要Redux,以及它解决了React自身的哪些局限性。书中对于dispatching actions、handling side effects(通过middleware)的讲解非常清晰,特别是对于异步操作的处理,比如API请求的发送和响应数据的更新,都给了非常详尽的代码示例和流程分析。我特别喜欢书中关于“数据流”的图解,它直观地展示了数据如何在React组件和Redux store之间流动,这对于我这样的初学者来说,是理解整个机制的关键。而且,书中还提到了一些关于React性能优化的高级技巧,比如代码分割(code splitting)和懒加载(lazy loading),以及如何通过这些手段来提升应用的初始加载速度。这本书为我打下了坚实的React和Redux基础,让我能够更顺利地过渡到React全家桶的学习。
评分我是一名对技术细节有极致追求的开发者,而这本书恰恰满足了我这份“挑剔”。它不是那种泛泛而谈的教程,而是真正地在“解构”React和Redux。我印象最深刻的是,书中花了相当大的篇幅去剖析React的Fiber架构,以及它如何改变了React的渲染机制,这部分内容对于理解React的性能优化和并发渲染至关重要。同时,它也没有回避Redux的“痛点”,比如action的冗余、reducer的纯度问题,并提供了多种解决方案,包括利用Immutable.js来提升性能,以及使用Reselect来优化selector的计算。书中对Context API的讲解也非常细致,并且讨论了何时应该使用Context,何时应该选择Redux,这种权衡利弊的分析非常有价值。我曾遇到过一个棘手的性能瓶颈,查阅了许多资料都无从下手,但这本书中关于组件shouldComponentUpdate的逻辑分析,以及如何正确使用shouldComponentUpdate或React.PureComponent,直接帮我定位并解决了问题。这本书的内容密度很高,需要静下心来仔细阅读和实践,但付出总是有回报的,它让我对React和Redux的理解上升到了一个全新的层次。
评分这本书绝对是我想为前端学习者推荐的“硬核”读物,但同时又不会让人望而却步。它的内容组织非常巧妙,从基础的React组件生命周期、props和state的管理,逐步深入到Redux的核心概念,如action、reducer、store,以及它们之间的协同工作。最让我赞赏的是,书中引入了大量的真实项目开发场景,将理论知识融会贯通。例如,在讲解表单处理时,它不仅展示了如何使用React的受控组件,还结合Redux的form库,展示了如何更高效、更规范地管理复杂的表单状态,这一点对于构建大型应用的用户界面至关重要。此外,书中还涵盖了React Router的进阶用法,包括嵌套路由、路由守卫等,以及如何与Redux集成,实现更流畅的用户体验。我尤其欣赏的是,作者在讲解过程中,始终强调“为什么”这么做,而不是仅仅“怎么做”,这使得读者能够真正理解背后的设计哲学,从而在面对新的问题时,也能举一反三,找到最优的解决方案。对于那些希望将React和Redux的应用提升到新高度的开发者来说,这本书绝对是一本不可多得的宝藏。
评分这本书的价值在于它不仅仅是技术手册,更是一本关于“工程实践”的指南。作者在讲解Redux的架构设计时,引入了许多在实际项目中常见的模式,例如状态划分、模块化reducer、以及如何构建可维护的action creator。我非常喜欢书中关于“代码组织”和“目录结构”的讨论,这对于一个团队协作项目来说,是提升开发效率和代码质量的关键。而且,书中对Redux Toolkit的介绍也非常及时和全面,它简化了许多Redux的 boilerplate 代码,让开发过程更加顺畅。我曾经在团队中推广过Redux Toolkit,但部分成员对其理解不够深入,这本书的介绍正好可以作为很好的学习材料。此外,书中还涉及到了React Hooks在Redux中的应用,包括useSelector、useDispatch的用法,以及如何利用useReducer来管理局部状态,这些都是当前React开发的主流实践。总的来说,这本书帮助我构建了一个更清晰、更具可扩展性的React/Redux应用开发框架,让我能够更自信地应对复杂的项目需求。
评分一直在用,非常好,很喜欢。
评分总结一句话:相信京东,品质保证!
评分React与Redux开发实例精解
评分前端不错的书籍,适合深入理解vue底层知识,京东活动买的价格实惠,不错赞一个,学了希望有成长
评分知识有点儿过时,不过基础还是可以的!
评分React与Redux开发实例精解
评分还可以,发现最好是先撸完Node再看这个,所以暂时先不看。
评分书写的很好,是一本提高自我的书
评分非常棒的书,推荐购买学习!
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.qciss.net All Rights Reserved. 图书大百科 版权所有