当前位置: 首页 > news >正文

《深入 React 技术栈》

clipboard.png

选择 React 这条路,于我它简单好用,于团队它活跃的生态圈与层出不穷的优秀解决方案给予进步。我们一直在坚持在这条路上作探索与学习于今。

专栏写作近一载,积累了 24 篇沉淀及分享,非常感谢朋友们的支持。此时,我即将出版这一年对此的总结,就是题图上的这本书 -《深入 React 技术栈》。

非常幸运,请到了在 React 实践方面的先驱郭达峰写这本书的序,也请到了张克军、寸志和阮一峰这三位大牛推荐本书,当然还有来自不同地方的一些朋友在百忙之中审阅,一并表示感谢。

下面我谈下本书出版的目的,主要有哪些内容和后续。

本书出版目的

摘录前言中的一段文字:

目前,不论在国内,还是在国外,已经有一些入门的 React 图书,它们大多在介绍基本概念,那些内容可以让你方便地进入 React
世界。但本书除了详细阐述基本概念外,还会帮助你从了解 React 到熟悉其原理,从探索 Flux 应用架构的思想到精通 Redux
应用架构,帮助你思考 React 给前端界带来的价值,React 今天是一种思想,希望通过解读它,能够让读者有自学的能力。

本书内容一部分是从『专栏』文章的整理提炼与总结,你会看到在目录中有好些章节出现过在专栏中,但在内容上进行了纠错与升级,还有很多因为需要前后关联去深入探索的内容都是重新写的,旨在系统的讲述 React 与其技术栈的使用及其原理。

React、Flux、Redux 本身都不复杂,还在于了解它们的运行的原理并学以自用。因此,本书不同于实践类中有大量的篇幅来讲例子,而总是先来讲述这个特性的来源或是原理,究其所以然。自然,你不论是不是在学 React,总可以从中了解些编程思想。对前端初学者来说会有一定的学习成本,无妨,我相信从一开始阅读还是可以深入下去的。

如果你需要一个可以跑得起来的 project,那么你会接触到 babel、webpack、eslint、karma 等一系列的工具,对于初学者这是一个恶梦。我不建议一头扎进这个漩涡里,在 Github 上有大量的 starterkit 可以跑,对于初学,不要把时间浪费在配置上。等你深入应用的开发,自然都会慢慢了解。

专栏内容的改进与升级

专栏的写作由小伙伴们专研或实践总结写成,主题分散,书中内容对此都作了细致的整理与串连,还有大量的新写的内容:

方方面面地从讲解 React 的基础知识到高阶知识,包括大家关心的组件间通信、组件间抽象、性能优化等内容。尤其是第一二章通过 Tabs 组件例子述说组件化的一些方法,有纯粹的知识体系,也有实践的内容。

  1. 源码分析一章升级了内容,所有示例都基于 React 15.0 而写,当然全书都是。这算是一个比较大的更新,对源码感兴趣的同学可以认真阅读。

  2. 结合完整的示例讲解 Flux、Redux 的使用,并分析到源码层面,帮助读者可以理解他们的原理,并真正的运用好它们。

  3. React 结合可视化的内容丰富的使用示例,尤其是讲到了怎么去封装像 Recharts 的可视库。可视化与前端领域关系甚密,大多数的原理均在于图像与图形的算法上,框架层面可讲的内容不多。

在审校的过程中,FB 公布了 React VR 的信息,FB 真正想把 React 打造成全端的界面库,对于我们来真是一个重磅新闻。

遗憾与感想

本书出版并不是专栏的『终结』,对我们来说只是一个前情总结。前端每天有意思的想法层出不穷,还有很多领域要去玩味。

就目前最流行的移动端方面本书涉及较少,本书还是以 PC 端的组件化为基础在写。索性 React Native 才是正规军,有兴趣的同学可以看 RN 方面的书籍认真学习。

另外,在写作期间 React 15 的小版本有几次小版本的升级,更是有 Fiber 等重大更新,这是无法避免的情况。之间的更新会反馈到专栏上,此外也希望读者能够举一反三,学习到精髓。

关于 Redux 上讲的内容有很多,总体涉及的库会很多,难免会对新手造成学习上的困扰。此外还有很多流行库没有具体涉及到,如 redux-sagas,redux-observable,Mobx 等。

本人阅历尚浅,难免出现疏漏和错误,对内容有所不满或批评意见,欢迎通过知乎或邮件不吝指正。

最后,非常感谢王老师和图灵出版社的支持。

附上书已经上架的地址:

亚马逊地址
china-pub 地址
京东地址

相关文章:

  • 聊聊 Redis 使用场景
  • 四: 基本标签
  • 离线安装 Python 2.7, paramiko 和 tornado
  • 线程组
  • Android图表库MPAndroidChart(十一)——多层级的堆叠条形图
  • Odoo 二次开发教程(五)-新API的介绍与应用
  • 代码托管工具 git
  • How can I determine the URL that a local Git repository was originally cloned from?
  • Idea14解决JSP/JS文件需要重启问题解决
  • 解决Ubuntu Kylin 1610安装ANSYS17.2的NVIDIA显卡驱动问题
  • java设置代理的几种方式
  • 二叉查找树转双向链表JAVA实现
  • VC++ 一个简单的Log类
  • java基础加强
  • 23种设计模式总结(三)
  • [数据结构]链表的实现在PHP中
  • Druid 在有赞的实践
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • FastReport在线报表设计器工作原理
  • gulp 教程
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript对象详解
  • java正则表式的使用
  • JS专题之继承
  • LeetCode算法系列_0891_子序列宽度之和
  • SwizzleMethod 黑魔法
  • Vue.js 移动端适配之 vw 解决方案
  • Vue2.0 实现互斥
  • vue的全局变量和全局拦截请求器
  • vue总结
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 基于 Babel 的 npm 包最小化设置
  • 开源SQL-on-Hadoop系统一览
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 力扣(LeetCode)56
  • 免费小说阅读小程序
  • 算法之不定期更新(一)(2018-04-12)
  • 微信公众号开发小记——5.python微信红包
  • 《码出高效》学习笔记与书中错误记录
  • gunicorn工作原理
  • Java数据解析之JSON
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #stm32驱动外设模块总结w5500模块
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (二)springcloud实战之config配置中心
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (转)大型网站的系统架构
  • **CI中自动类加载的用法总结
  • .net core 3.0 linux,.NET Core 3.0 的新增功能
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net Core和.Net Standard直观理解
  • .NET Framework杂记
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?