作品简介

本书从基础内容出发,详细梳理了浏览器的基础导航能力、history库的使用及原理,以及React Hooks等基础知识,帮助读者学习并掌握React Router的前驱知识。同时,本书从React Router的发展历程、技术演变出发,介绍了React Router的设计思路,并通过路由器、路由端口、导航三要素,引出React Router的基本使用方法,并对源码进行了全面解析。此外,本书各章使用React Hooks穿插了30余个案例,在兼顾实用性、可扩展性的同时,为读者学习与理解React Router提供了全面丰富的素材。通过阅读本书,读者不仅可以融会贯通地掌握React Router,而且能提升对前端路由的认识,并掌握前端领域路由的设计思路与方法。本书适合有JavaScript或TypeScript基础,想要学习使用React Router,或对React Router实现原理和工程实践感兴趣的开发者阅读。

李杨韬,一线前端工程师,硕士毕业于东南大学,目前在美团点评工作,专注于Web开发,拥有多年工程经验,参与过众多大型Web项目的设计,开发,同时也喜爱探索Web前沿技术。

作品目录

  • 序 Foreword
  • 前言 Preface
  • 第1章 导航相关JavaScript前驱知识
  • 1.1 URI和URL
  • 1.2 浏览器记录
  • 1.3 在浏览器中跳转
  • 1.4 浏览器相关事件介绍
  • 1.5 小结
  • 参考文献
  • 第2章 history库详解
  • 2.1 history库概述
  • 2.2 browserHistory
  • 2.3 hashHisotry
  • 2.4 memoryHistory
  • 2.5 history库原理
  • 2.6 history库限制
  • 2.7 使用history替换页面search和hash示例
  • 2.8 小结
  • 参考文献
  • 第3章 React相关知识
  • 3.1 Context
  • 3.2 Hooks
  • 3.3 Refs
  • 3.4 Memo
  • 3.5 小结
  • 参考文献
  • 第4章 认识React Router
  • 4.1 ReactRouter是什么
  • 4.2 React Router版本的演进
  • 4.3 静态路由与动态路由
  • 4.4 使用React Router实现一个工程应用
  • 4.5 小结
  • 第5章 Router
  • 5.1 Router是什么
  • 5.2 Router源码解析
  • 5.3 BrowserRouter
  • 5.4 HashRouter
  • 5.5 NativeRouter
  • 5.6 StaticRouter
  • 5.7 相关Hooks
  • 5.8 小结
  • 参考文献
  • 第6章 Route
  • 6.1 Route是什么
  • 6.2 Route的两个基本要素
  • 6.3 Route传入组件的3个参数
  • 6.4 Route的其他配置
  • 6.5 Route 源码解析
  • 6.6 相关Hooks
  • 6.7 Route实战案例
  • 6.8 小结
  • 参考文献
  • 第7章 Link
  • 7.1 Link介绍
  • 7.2 NavLink
  • 7.3 DeepLinking
  • 7.4 BackButton
  • 7.5 导航实战案例
  • 7.6 小结
  • 参考文献
  • 第8章 其他路由组件及方法
  • 8.1 Switch
  • 8.2 Redirect
  • 8.3 Prompt
  • 8.4 withRouter
  • 8.5 matchPath
  • 8.6 实战案例
  • 8.7 小结
  • 参考文献
  • 第9章 进阶实战案例
  • 9.1 路由组件的滚动恢复
  • 9.2 异步history方法
  • 9.3 为路由引入hash定位
  • 9.4 为组件引入路由生命周期
  • 9.5 React Router状态同步Redux
  • 9.6 React Router状态同步Mobx
  • 9.7 路由与组件的结合实战
  • 9.8 为history方法引入前置中间件
  • 9.9 组件路由化
  • 9.10 路由与页签机制
  • 9.11 在React Hooks中使用路由
  • 9.12 微服务路由
  • 9.13 配置化路由扩展
  • 9.14 配置化路由综合示例
  • 9.15 小结
  • 参考文献
  • 附录A 从React Router v3.x迁移到React Router v4.x及以上版本
展开全部