这(可能)是目前最好的中文React入门书!

 

解开Web应用开发之谜,从了解React基本原理开始。Facebook开发工程师教你轻松入门React!...



众所周知,React起源于Facebook的内部项目,近年来广受关注。其声明式

UI、组件化的思想让开发和维护具有复杂交互性的界面变得更容易。目前,前端社区中不断涌现出各种构建 React

应用的方案,各种前端技术会议也多次提及与 React 相关的主题。可以说,React 生态圈正朝着越来越好的方向发展。

互联网上React的学习资料相当之多,国内外相关图书也出版了不少。但是,今天小编为大家推荐的这本可 (bi) 能 (xu) 是目前最好的中文React入门书——《React快速上手开发》。

本书译者、迅雷前端工程师张俊达说,有两个特点让这本书从众多图书中脱颖而出:

  1. 本书作者Stoyan就职于Facebook,对自家开发的技术自然了解得更加透彻;
  2. 本书把讨论重点放在React本身,避免初学者因为React相关技术栈过于庞大而望而却步。
来自Facebook的开发实践
作者:Stoyan Stefanov

译者:张俊达

  • 以Web开发角度介绍从零构建React应用
  • 掌握可节省80%开发时间的UI库
  • 轻松构建原生iOS、Android、TV、桌面、Web应用
本书旨在帮你掌握Facebook的开源技术React,迅速建立富Web应用,构建组件并将其组织成可维护的大型应用程序。

‍‍‍有一种常见的误解是:你需要花费大量时间在配置工具上,然后才能开始学习React;但其实真相并非如此。在本书中,我们将从零开始构建一个React应用。读者可以在掌握React基础后,进行下一步的学习。‍

本书内容

在前3章,你将从一个空白的HTML 页面开始构建应用。这使得你可以将关注点放在React本身,无需了解任何新语法或者辅助工具。

第4章介绍JSX。这是一项单独、可选的技术,通常会同React一起使用。

从第5章开始,你将学习在实际开发中可能用到的一些附加工具。介绍的例子包括JavaScript 打包工具(Browserify)、单元测试(Jest)、语法检查(ESLint)、类型(Flow)、在应用中组织数据流(Flux)以及不可变数据(Immutable.js)。所有关于这些辅助技术的讨论都会力求简化,让你依然将精力放在React上。你会很快熟悉这些工具的使用,并能根据具体情况选择使用哪些工具。

本书作者

Stoyan Stefanov 

Facebook开发工程师。曾多次在Velocity等技术大会上发表过演讲。另著有《JavaScript模式》和《JavaScript面向对象编程指南》,还为《高性能网站建设进阶指南》和《高性能JavaScript》贡献过内容。个人站点是http://phpied.com。

本书译者

张俊达 

毕业于华南理工大学,前端开发工程师,现任职于迅雷,主要负责移动Web开发工作。关注前端领域的新技术,乐于分享。

让Facebook小哥Stoyan Stefanov告诉你:
为什么我对React爱得深沉
大约

2000 年,洛杉矶。这又是一个温暖舒适的加利福尼亚之夜,淡淡的海风轻轻拂来,舒爽惬意。我正准备使用 FTP 把我新建的站点

CSSsprites.com 传送到服务器并向全世界发布。在发布的前几个晚上,我一直在思考一个问题:“到底为什么只把 20%

的工作量放在解决应用的主要问题上,却把剩下的 80% 花费在努力克服用户界面的问题上呢?”如果能把所有调用 getElementById() 和考虑应用状态(用户上传是否完成?如果上传出错,上传对话框是否要继续显示?)的时间节约出来,我能利用这部分时间完成多少其他的工具呢?为什么界面开发这么耗时?如何处理不同浏览器之间的差异?想到这些,我的大好心情荡然无存。



时间快进到

2015 年 3 月。在当时召开的 Facebook F8 开发者大会上,我所在的团队准备公布两个完全重写的 Web

应用:一个第三方评论模块和一个配套的评论审核工具。和我的小应用 CSSsprites.com

相比,这两个应用非常成熟,功能也复杂得多,并且流量非常大。虽然如此,其开发过程依然令人愉悦。团队中的新成员(甚至包括刚接触 JavaScript

和 CSS 的新手)都能很快地融入其中,轻松高效地贡献功能特性并改进现有代码。团队中的一个成员说:“现在我发现这就是自己热爱的一切!”

在这段时间里发生了什么?答案是:React 诞生了。

React 是一个 UI 库,让你只需定义一次用户界面,就可以将其用在多个地方。之后,当应用的状态(state)发生变化时,React

将会自动作出反应、更新界面,你无需做其他任何工作。毕竟你已经定义了用户界面。尽管说是定义,其实代码更加偏向声明式,你可以使用可管理的小型组件构造出一个强大的应用。你再也不需要在函数里花费一半的代码量寻找

DOM 节点了,而是可以只维护应用的状态(通过常规的 JavaScript 对象),把剩下的工作都交给 React 帮你完成。

学习 React 非常划算。一旦学会这个库,便可以使用它构建以下类型的应用:

  • Web 应用
  • 原生 iOS 和 Android 应用
  • Canvas 应用
  • TV 应用
  • 原生桌面应用
你可以使用与构造组件和用户界面相同的思路,创建具有原生应用性能和控制能力的原生应用(真正的原生控制,而不仅仅是看起来像原生)。这并不是指“一次编写,到处运行”(我们的技术尚未实现这一点),而是“一次学习,到处使用”。

简而言之,学习 React 可以帮你节省 80% 的时间,使你可以把精力集中在主要问题上(比如你的应用存在的真正目的)。

‍‍

‍‍‍

‍‍‍你是否被作者打动了?那么从这本书开启你的React之旅吧!

如果,你已经入门React了,那么你需要的是这本目前市面上最好的React进阶书:《深入React技术栈》,点击书名了解详细介绍



小编:嘿!

小伙伴:干什么?
小编:走了?
小伙伴:是啊。
小编:去哪里啊?
小伙伴:上班。
小编:然后呢?
小伙伴:敲代码。

小编:给你个选择行不行?
小伙伴:什么选择啊?
小编:你任选一章试读我送你啊!
小伙伴:那你先把目录列出来啊,傻瓜!

小编:你看下面啊!

第1章 Hello World

1.1 设置

1.2 Hello React World

1.3 刚才发生了什么

1.4 React.DOM.*

1.5 特殊DOM属性

1.6 React DevTools浏览器扩展

1.7 下一步:自定义组件

第2章 组件的生命周期

2.1 基础

2.2 属性

2.3 propTypes

2.4 state

2.5 带状态的文本框组件

2.6 关于DOM事件的说明

2.6.1 传统的事件处理

2.6.2 React的事件处理

2.7 props与state

2.8 在初始化state时使用props:一种反模式

2.9 从外部访问组件

2.10 中途改变属性

2.11 生命周期方法

2.12 生命周期示例:输出日志记录

2.13 生命周期示例:使用mixin

2.14 生命周期示例:使用子组件

2.15 性能优化:避免组件更新

2.16 PureRenderMixin

第3章 Excel:一个出色的表格组件

3.1 构造数据

3.2 表头循环

3.3 消除控制台的警告信息

3.4 添加内容

3.5 排序

3.6 排序的视觉提示

3.7 编辑数据

3.7.1 可编辑单元格

3.7.2 输入字段的单元格

3.7.3 保存

3.7.4 结论与虚拟DOM Diff算法

3.8 搜索

3.8.1 状态与界面

3.8.2 筛选内容

3.8.3 如何改进搜索功能

3.9 即时回放

3.9.1 如何改进回放功能

3.9.2 有另一种实现方法吗

3.10 下载表格数据

第4章 JSX

4.1 Hello JSX

4.2 转译JSX

4.3 Babel

4.4 客户端

4.5 关于JSX转换

4.6 在JSX中使用JavaScript

4.7 在JSX中使用空格

4.8 在JSX中使用注释

4.9 HTML实体

4.10 展开属性

4.11 在JSX中返回多个节点

4.12 JSX和HTML的区别

4.12.1 class和for属性不能用了吗

4.12.2 style属性值是一个对象

4.12.3 闭合标签

4.12.4 用驼峰法命名属性

4.13 JSX和表单

4.13.1 onChange处理器

4.13.2 value和defaultValue的区别

4.13.3 的值

4.13.4 的值

4.14 使用JSX 实现Excel 组件

第5章 为应用开发做准备

5.1 一个模板应用

5.1.1 文件和目录

5.1.2 index.html

5.1.3 CSS

5.1.4 JavaScript

5.1.5 更现代化的JavaScript

5.2 安装必备工具

5.2.1 Node.js

5.2.2 Browserify

5.2.3 Babel

5.2.4 React相关

5.3 开始构建

5.3.1 转译JavaScript

5.3.2 打包JavaScript

5.3.3 打包CSS

5.3.4 大功告成

5.3.5 Windows版本

5.3.6 在开发过程中构建

5.4 发布

5.5 更进一步

第6章 构建应用

6.1 Whinepad v. 0.0.1

6.1.1 基本设置

6.1.2 开始编写代码

6.2 组件

6.2.1 设置

6.2.2 组件发现工具

6.2.3 组件

6.2.4 Button.css

6.2.5 Button.js

6.2.6 表单

6.2.7

6.2.8 组件

6.2.9 “工厂组件”

6.2.10

6.2.11

6.2.12 对话框

6.3 应用配置

6.4 :改进的新版本

6.5

6.6 总结

第7章 lint、Flow、测试与复验

7.1 package.json

7.1.1 配置Babel

7.1.2 脚本

7.2 ESLint

7.2.1 安装

7.2.2 运行

7.2.3 规则列表

7.3 Flow

7.3.1 安装

7.3.2 运行

7.3.3 注册类型检查

7.3.4 修复

7.3.5 app.js

7.3.6 关于props和state类型检查的更多内容

7.3.7 导出/导入类型

7.3.8 类型转换

7.3.9 invariant

7.4 测试

7.4.1 安装

7.4.2 首个测试

7.4.3 首个React测试

7.4.4 测试组件

7.4.5 测试组件

7.4.6 更多模拟交互

7.4.7 测试完整的交互

7.4.8 代码覆盖率

第8章 Flux

8.1 理念

8.2 回顾Whinepad

8.3 Store

8.3.1  Store 事件

8.3.2 在 中使用Store

8.3.3 在 中使用Store

8.3.4 在 中使用Store

8.3.5 界定

8.4 Action

8.4.1 CRUD Action

8.4.2 搜索与排序

8.4.3 在中使用Action

8.4.4 在中使用Action

8.5 Flux回顾

8.6 immutable

8.6.1 immutable存储数据

8.6.2 immutable数据操作

关于作者

关于封面
PS:小伙伴们可以留言说说你最想看哪一章试读,小编会开放你感兴趣的那章~
小编:嘿!

小伙伴:又怎么了?
小编:我送你纸质书啊!
小伙伴:那你赶紧先说要求啊,大佬!

赠书活动

你至今有没有入坑React?说说你喜欢这本书的理由或者和大家分享一下你的开发经验,精选评论中选3人赠书~

活动截止3月31号14:00~

春分,播种的节气~~

图灵社区推出电子书优惠活动~~



愿时光不负你我~【阅读原文】购买优惠电子书~


    关注 图灵教育


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册