React Cookbook中文版:87个案例带你精通React框架
钱昱, 姚明壮, 李青 译
出版时间:2023年03月
页数:454
“本书将带你了解React开发的整个生命周期。每个代码案例都简明易懂,是作者智慧的结晶。这是一本所有开发者必读之书!”
——Sam Warner
软件工程师
React可以帮助你便捷地创建和处理应用程序,但要掌握如何将各部分功能有机地整合在一起却并不容易。如何验证表单?如何在保持代码精简的情况下实现复杂的多步骤用户操作?如何测试代码?如何保证可维护性?如何连接后端?如何提高代码可读性?本书可以帮你快速解决这些问题。
许多书籍教你如何入门、理解框架,或者如何将组件库与React结合使用,但很少提供代码示例来帮助你解决具体的问题。本书简明易懂,包含开发人员使用React解决常见问题时的示例代码,这些解决方案按主题和问题类型分类,便于你索引和查找。
通过阅读本书,你将学会:
● 向使用React构建的单页面应用程序引入丰富多彩的UI。
● 创建可以离线安装和使用的渐进式Web应用程序。
● 与REST、GraphQL等后端服务集成。
● 自动测试应用程序的可访问性。
● 使用WebAuthn引入指纹验证和安全令牌,增强应用程序的安全性。
● 处理bug,并避免常见的功能和性能问题。
- 前言
- 第1章 创建应用程序
- 1.1 创建简单的应用程序
- 1.2 用Gatsby创建内容丰富的应用程序
- 1.3 用Razzle创建通用应用程序
- 1.4 使用Next.js管理服务端和客户端代码
- 1.5 用Preact创建轻量级应用程序
- 1.6 用nwb创建组件库
- 1.7 用Webpacker给Rails项目添加React
- 1.8 用Preact创建自定义HTML标签
- 1.9 在组件开发中使用Storybook
- 1.10 用Cypress在浏览器中测试代码
- 第2章 路由
- 2.1 使用响应式路由创建界面
- 2.2 将状态移入路由
- 2.3 使用MemoryRouter进行单元测试
- 2.4 使用提示窗确认页面退出操作
- 2.5 用React Transition Group创建过渡
- 2.6 创建安全路由
- 第3章 管理状态
- 3.1 用reducer来管理复杂状态
- 3.2 实现撤销功能
- 3.3 创建和验证表单
- 3.4 根据时间变化设置定时任务
- 3.5 监控在线状态
- 3.6 用Redux管理全局状态
- 3.7 用Redux持久化库实现页面重新加载
- 3.8 用reselect计算派生状态
- 第4章 交互设计
- 4.1 建立错误集中处理器
- 4.2 创建交互式帮助向导
- 4.3 在复杂交互中使用reducer
- 4.4 添加按键交互
- 4.5 对丰富的内容使用Markdown
- 4.6 使用CSS类引入动画效果
- 4.7 在React中引入动画库
- 4.8 使用TweenOne给信息图添加动画
- 第5章 连接后端服务
- 5.1 将网络请求转化为Hook
- 5.2 使用状态计数器自动更新数据
- 5.3 使用token来取消网络请求
- 5.4 使用Redux的中间件发起网络请求
- 5.5 连接到GraphQL
- 5.6 通过防抖减少网络负载
- 第6章 组件库
- 6.1 使用Material-UI创建Material Design风格的应用
- 6.2 使用React Bootstrap为应用引入简单的用户界面
- 6.3 使用React Window展示大量数据
- 6.4 使用Material-UI创建响应式对话框
- 6.5 使用React Admin创建管理控制台
- 6.6 没有设计师?使用Semantic UI
- 第7章 安全性
- 7.1 使用安全API替代安全路由
- 7.2 使用物理令牌进行身份验证
- 7.3 使用HTTPS
- 7.4 使用指纹认证
- 7.5 敏感操作前验证登录信息
- 7.6 使用单因素身份验证
- 7.7 在Android设备上测试
- 7.8 使用ESlint检查代码安全性
- 7.9 让登录表单对浏览器更加友好
- 第8章 测试
- 8.1 使用React Testing Library
- 8.2 使用Storybook做渲染测试
- 8.3 使用Cypress做无服务器测试
- 8.4 使用Cypress做离线测试
- 8.5 使用Selenium在浏览器中测试
- 8.6 用ImageMagick测试跨浏览器的视觉效果
- 8.7 给移动端浏览器添加控制台
- 8.8 消除测试中的随机性
- 8.9 时间旅行
- 第9章 无障碍访问
- 9.1 使用地标元素
- 9.2 应用role、alt和title
- 9.3 使用ESlint检查可访问性
- 9.4 在运行时使用axe DevTools
- 9.5 使用Cypress Axe自动化浏览器测试
- 9.6 添加跳过按钮
- 9.7 添加跳过区域
- 9.8 将焦点锁定在模态窗口中
- 9.9 使用Speech API创建页面阅读器
- 第10章 性能
- 10.1 使用浏览器性能工具
- 10.2 使用Profiler跟踪渲染
- 10.3 创建Profiler单元测试
- 10.4 精确测量时间
- 10.5 使用代码分割技术减小应用程序体积
- 10.6 使用promise实现网络请求异步化
- 10.7 使用服务端渲染
- 10.8 使用Web Vitals
- 第11章 渐进式Web应用
- 11.1 使用Workbox创建Service Worker
- 11.2 使用Create React App创建渐进式Web应用
- 11.3 缓存第三方资源
- 11.4 自动重新加载Service Worker
- 11.5 添加通知
- 11.6 使用后台同步进行离线修改
- 11.7 添加自定义安装界面
- 11.8 提供离线响应
书名:React Cookbook中文版:87个案例带你精通React框架
译者:钱昱, 姚明壮, 李青 译
国内出版社:机械工业出版社
出版时间:2023年03月
页数:454
书号:978-7-111-72280-9
原版书书名:React Cookbook
原版书出版商:O'Reilly Media
David Griffiths
David Griffiths从12岁就开始编程了,那时候他看到了有关Seymour Papert的工作的一篇文章。15岁的时候,他写了Papert计算机语言LOGO的一个应用。在大学了学习了纯数学之后,他开始给计算机写代码,也给杂志读者写文章。他做过敏锐的教练,开发人员,还有车库服务员,只不过不是以这样的顺序干活的。他能用10种以上的语言编写代码,或是一种语言写散文,而当他不在写作,编码或是教练时,他就把大部分的闲暇时间花在旅行上,和他那可爱的妻子一起,还有Head First系列的作者—Dawn。
在写《深入浅出Programming》之前, 他写过另外一本书,叫做《深入浅出 Rails》,那是一本很出色的读物,而且可以作为一份贴心的礼物送给任何一个亲近的朋友或是家庭成员。
你可以在Twitter上关注他:http://twitter.com/dgriffiths。
Dawn Griffiths
dawn griffiths,在英国一所顶尖的大学开始了她的数学生涯,获得了数学系的荣誉学位,毕业以后投身软件开发行业,迄今已经有15年的it行业从业经验。
在和david一起写《嗨翻c语言》之前,dawn写过两本head first系列的书(《深入浅出统计学》和head first 2d geometry),同时还主持过该系列其他几本书。