计算机
类型
可以朗读
语音朗读
320千字
字数
2021-03-01
发行日期
展开全部
主编推荐语
本书详细地介绍了React Router的使用方式及运作原理。
内容简介
本书从基础内容出发,详细梳理了浏览器的基础导航能力、history库的使用及原理,以及React Hooks等基础知识,帮助读者学习并掌握React Router的前驱知识。
同时,本书从React Router的发展历程、技术演变出发,介绍了React Router的设计思路,并通过路由器、路由端口、导航三要素,引出React Router的基本使用方法,并对源码进行了全面解析。
此外,本书各章使用React Hooks穿插了30余个案例,在兼顾实用性、可扩展性的同时,为读者学习与理解React Router提供了全面丰富的素材。
通过阅读本书,读者不仅可以融会贯通地掌握React Router,而且能提升对前端路由的认识,并掌握前端领域路由的设计思路与方法。
本书适合有JavaScript或TypeScript基础,想要学习使用React Router,或对React Router实现原理和工程实践感兴趣的开发者阅读。
目录
- 版权信息
- 内容简介
- 序 Foreword
- 前言 Preface
- 第1章 导航相关JavaScript前驱知识
- 1.1 URI和URL
- 1.1.1 URI和URL简介
- 1.1.2 浏览器URI编码
- 1.2 浏览器记录
- 1.2.1 history.pushState
- 1.2.2 history.replaceState
- 1.2.3 通过相对路径添加和修改浏览器记录
- 1.2.4 在base元素存在的情况下添加和修改浏览器记录
- 1.3 在浏览器中跳转
- 1.3.1 window.history.go
- 1.3.2 window.history.forward
- 1.3.3 window.history.back
- 1.3.4 window.location.href
- 1.3.5 window.location.hash
- 1.3.6 window.location.replace
- 1.4 浏览器相关事件介绍
- 1.4.1 popstate事件
- 1.4.2 hashchange事件
- 1.4.3 手动触发事件
- 1.5 小结
- 参考文献
- 第2章 history库详解
- 2.1 history库概述
- 2.2 browserHistory
- 2.2.1 创建browserHistory
- 2.2.2 history导航
- 2.2.3 history监听
- 2.3 hashHisotry
- 2.3.1 创建hashHisotry
- 2.3.2 history导航
- 2.3.3 history监听
- 2.3.4 history.createHref
- 2.4 memoryHistory
- 2.4.1 创建memoryHistory
- 2.4.2 history导航
- 2.4.3 history监听
- 2.5 history库原理
- 2.5.1 history库的运行流程
- 2.5.2 history模拟历史栈
- 2.5.3 browserHistory事件处理
- 2.5.4 hashHistory事件处理
- 2.5.5 history.block原理解析
- 2.6 history库限制
- 2.6.1 history.block的使用限制
- 2.6.2 decodeURI解码问题
- 2.7 使用history替换页面search和hash示例
- 2.8 小结
- 参考文献
- 第3章 React相关知识
- 3.1 Context
- 3.2 Hooks
- 3.2.1 useState
- 3.2.2 useEffect
- 3.2.3 useLayoutEffect
- 3.2.4 useRef
- 3.2.5 useMemo
- 3.2.6 useContext
- 3.2.7 自定义Hook
- 3.3 Refs
- 3.3.1 createRef
- 3.3.2 forwardRef
- 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.2.1 history监听
- 5.2.2 提供初始Context
- 5.2.3 提前监听
- 5.3 BrowserRouter
- 5.4 HashRouter
- 5.5 NativeRouter
- 5.6 StaticRouter
- 5.7 相关Hooks
- 5.7.1 useRouterContext
- 5.7.2 useHistory
- 5.7.3 useLocation
- 5.8 小结
- 参考文献
- 第6章 Route
- 6.1 Route是什么
- 6.2 Route的两个基本要素
- 6.2.1 Route的第一个要素:path
- 6.2.2 Route的第二个要素:组件渲染方式
- 6.3 Route传入组件的3个参数
- 6.3.1 match
- 6.3.2 location
- 6.3.3 history
- 6.4 Route的其他配置
- 6.4.1 location
- 6.4.2 exact
- 6.4.3 strict
- 6.4.4 sensitive
- 6.5 Route 源码解析
- 6.5.1 上下文的更新
- 6.5.2 运行流程
- 6.6 相关Hooks
- 6.6.1 useRouteMatch
- 6.6.2 useParams
- 6.7 Route实战案例
- 6.7.1 嵌套Route
- 6.7.2 相对路径Route
- 6.7.3 重定向Route
- 6.7.4 默认子组件Route
- 6.7.5 缓存Route
- 6.7.6 Route渲染组件的可访问性支持
- 6.7.7 query及命名参数
- 6.7.8 Route中的代码拆分
- 6.8 小结
- 参考文献
- 第7章 Link
- 7.1 Link介绍
- 7.1.1 Link的定义及属性
- 7.1.2 Link源码解析
- 7.2 NavLink
- 7.2.1 带激活态的Link
- 7.2.2 转义特殊字符
- 7.2.3 NavLink源码解析
- 7.3 DeepLinking
- 7.4 BackButton
- 7.5 导航实战案例
- 7.5.1 为导航组件扩展路由匹配
- 7.5.2 相对上下文路径导航组件
- 7.5.3 相对上下文路径的导航方法
- 7.5.4 为导航组件扩展search和hash支持
- 7.6 小结
- 参考文献
- 第8章 其他路由组件及方法
- 8.1 Switch
- 8.1.1 Switch简介
- 8.1.2 Switch源码解析
- 8.2 Redirect
- 8.2.1 基本跳转
- 8.2.2 条件跳转
- 8.2.3 源码解析
- 8.3 Prompt
- 8.4 withRouter
- 8.5 matchPath
- 8.6 实战案例
- 8.6.1 路由动画
- 8.6.2 Prompt组件
- 8.6.3 404页面
- 8.6.4 不销毁未命中路径组件的扩展Switch
- 8.7 小结
- 参考文献
- 第9章 进阶实战案例
- 9.1 路由组件的滚动恢复
- 9.1.1 scrollRestoration
- 9.1.2 容器元素滚动恢复
- 9.1.3 滚动管理者ScrollManager
- 9.1.4 滚动恢复执行者ScrollElement
- 9.1.5 多次尝试机制
- 9.2 异步history方法
- 9.2.1 提升history方法
- 9.2.2 导航感知
- 9.3 为路由引入hash定位
- 9.3.1 页面加载
- 9.3.2 异步数据加载
- 9.4 为组件引入路由生命周期
- 9.4.1 路由生命周期
- 9.4.2 实现路由生命周期高阶组件
- 9.5 React Router状态同步Redux
- 9.5.1 接入connected-react-router
- 9.5.2 connected-react-router原理分析
- 9.6 React Router状态同步Mobx
- 9.7 路由与组件的结合实战
- 9.7.1 路由结合Tabs组件
- 9.7.2 路由结合Modal组件
- 9.7.3 路由结合BreadCrumb组件
- 9.8 为history方法引入前置中间件
- 9.8.1 Redux中间件
- 9.8.2 中间件定义
- 9.8.3 实现history中间件
- 9.9 组件路由化
- 9.9.1 为组件加入path属性
- 9.9.2 为组件赋予路由
- 9.10 路由与页签机制
- 9.10.1 页签介绍
- 9.10.2 页签配置
- 9.10.3 页签实现
- 9.11 在React Hooks中使用路由
- 9.11.1 通过React Hooks获得路由组件
- 9.11.2 实现useHookRoutes
- 9.12 微服务路由
- 9.12.1 微服务介绍
- 9.12.2 实现示例
- 9.13 配置化路由扩展
- 9.13.1 配置化路由与react-router-config
- 9.13.2 重新实现配置化路由
- 9.14 配置化路由综合示例
- 9.14.1 路由配置
- 9.14.2 导航
- 9.14.3 使用页签组件
- 9.14.4 页签栈维护
- 9.15 小结
- 参考文献
- 附录A 从React Router v3.x迁移到React Router v4.x及以上版本
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。