手记

投稿003期 | React进阶路 ——《深入浅出React和Redux》

书名:《深入浅出React和Redux》

作者:程墨

现如今,前端技术发展欣欣向荣,出现了很多出色的前端框架,Angular、React、Vue更是一股热潮,很多前端开发人员都会去学习至少一种前端框架。就拿我来说,仅仅是一个毕业不满一年的菜鸟,毕业的时候只熟悉js,工作的时候只用jQuery,感觉如果再这么下去,两三年后,就会失去竞争力。幸运的是,这一年,我刚好赶上了公司前端的技术转型,选用React框架来开发单页面应用,抛弃以前的基于jQuery的框架。

一般情况下,我们做项目的时候,都对这个项目本身用到的一些技术有一定的基础,但是这次情况不同,我没有React基础,甚至ES6都不大会用,更不用说Redux了。我的领导告诉我,项目中有需要用到Redux的地方,让我提前学习一下。

我比较喜欢买一些前端方面的书籍,我觉得看书比看电脑更容易集中注意力。于是,这本《深入浅出React和Redux》成为我的伙伴。

我在看这本书之前,也学了几天的react,当时遇到了一些疑惑的地方,这本书都替我解答了,并且这本书还介绍了一些我们容易忽略的地方:

  • 使用jsx的语法,把js和html放在同一个文件里,这样真的好吗?

    回到最初学前端的时候,我们都有一个下意识的做法,就是新建三个文件夹,分别命名为html、css、js,然后把对应的文件放在对应的文件夹里。所以初学React的时候,难免会有这样的疑惑。

  • 书上有这样一句话,“除了render函数,shouldComponentUpdate可能是React组件生命周期中最重要的函数了。”

    书中介绍了shouldComponentUpdate的重要作用,我觉得我低估了这个函数。不仅是我,很多学习react的网站,都是对这个函数一笔带过,但是这个函数是可以提高效率的,极其重要的函数。

  • 为什么要使用React?

    这个问题看似简单,但是认真思考这个问题的人并不多。很多人觉得,三大框架这么火,赶紧去学就对了,存在即合理。事实上,有时候,弄清楚为什么要这么做,比弄清楚如何做更加重要。

上面的几个问题,都在这本书中有很好的解释。无论你有没有React基础,这本书都会让你有很多收获。

这本书更出色的地方在于对redux的讲解,跟着书本学习,就好像有一个老师在手把手教你一样。和一般的教程不同,这本书介绍的点更加精细。

阮一峰老师的网站中,也有redux的教程,这个教程虽然大体上介绍了redux的相关概念已经redux的用法,但是,你却不知道我们为什么要这么做。

《深入浅出React和Redux》这本书,首先介绍了模块化应用构建的要点:

  • 代码文件的组织结构
  • 确定模块化的边界
  • Store的状态树设计

然后,在介绍如何使用redux的时候,介绍了一个demo的构建过程。每一步都极其详细,不仅介绍了如何做,还介绍了这么做的原因。如果把demo下载下来,一行一行研读,你会发现,代码为什么要这么写,都写在书里了,甚至还有eslint的功能,例如书中第87页介绍了:

export const toggleTodo = (id) => ({
    type: TOGGLE_TODO,
    id: id 
})

是这种写法的简写:

export const toggleTodo = (id) => {
    return {
        type: TOGGLE_TODO,
        id: id
    }
}

总之就是,几乎所有读者可能出现的疑惑,书中都会有解答。

(注:其实还可以简化,把 id:id 换成 id, )

如果把阮一峰老师的教程比作图文攻略的话,那么程墨的书就是视频攻略。我甚至怀疑这本书是不是有魔法,就像哈利波特里面的报纸一样,是会动的教程。

上面介绍的是这本书的前四章,这四张,足够让一个初学者深刻掌握react基础和redux基本用法了。后面几章也是分量十足:

  • 第5章:React组件的性能优化

    性能优化才是react真正高端的地方,只是平时开发的时候,我们注重:实现了功能就好,性能方面以后再说

  • 第7章:Redux和服务器通信

    这一章就和我们平时开发息息相关了。毕竟,我们的项目不会是纯前端项目,必然要有ajax请求。这一章介绍了如何在有ajax请求的情况下使用redux,引入了中间件的概念。

  • 第8章:单元测试

    这一章说明了React和Redux应用可测试性强的原因,并且教我们如何使用工具来进行单元测试

  • 第10章:动画

    react抛弃了jQuery,所以,以前我们的jQuery插件统统不建议使用了。这一章给我们介绍了react动画实现的两种方式、实现工具、动画库。

目前我只看了前四章,收获极其丰富。我作为一名入职不到一年的菜鸟,也可以给我的同事、我的前辈去培训redux。我翻开书发反面,有一些对这本书的评价:

“React和Redux帮助我们重新思考前端网页的构建方式,希望更多的开发者能够熟悉这两种技术,阅读这本书就是一个很好的开始。”
——诸葛越,Hulu公司全球研发副总裁,中国研发中心总经理

“程墨在Velocity China上的演讲很精彩,他能够把复杂的技术问题讲解得透彻、幽默。希望他的这本书也能给读者带来不同以往的技术书籍阅读体验,像Head First系列一样生动有趣。”
——Douglas Wan, Chief Editor of O'Reilly Media Inc. Beijing

“阅读程墨的书,不仅能获得对一种技术的理解,而且能深入体会这种技术选择背后的动因,知其然也要知其所以然,这本书在这方面做得相当出色。”
——秦适,微博易、云鸟配送联合创始人兼CTO

最后,我要加一句我对这本书的评价,其实在上文已经说过了:

我甚至怀疑这本书是不是有魔法,就像哈利波特里面的报纸一样,是会动的教程。

6人推荐
随时随地看视频
慕课网APP