React:引领未来的用户界面开发框架

React:引领未来的用户界面开发框架
作 者: 卓越开发者联盟 寸志
出版社: 电子工业出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 程序设计 计算机/网络
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书由一个团队编写而成,这个团队的成员都是一些经验丰富且专注于JavaScript 的开发者。Tom Hallett 是一位高级Ruby 和JavaScript 工程师,在Tout.com 工作(Tout.com 是一个实时视频平台,办公地点在旧金山)。他是jasmine-react 的作者,jasmine-react 是一个开源的类库,旨在帮助开发者使用测试框架Jasmine 测试React 应用程序。在Twitter(@tommyhallett)和Github(@tommyh)上都可以找到他。他的爱好是打水球,以及与妻子和儿子待在一起。Richard Feldman 是旧金山教育科技公司NoRedInk 的前端工程师。他是一个函数式编程爱好者,会议发言人,还是seamlessimmutable的作者。seamless-immutable 是一个开源类库,可以提供不可变的数据结构,向后兼容普通的JavaScript 对象和数组。Richard 在Twitter 和Github 上都叫@rtfeldman。Simon H?jberg 是一个高级UI 工程师,在罗德岛普罗维登斯市的Swipely 公司工作。他是普罗维登斯市线下JS 见面会的核心组织者,之前还是波士顿创业学院的JavaScript 讲师。他一直在使用JavaScript 开发功能性的用户界面,也会开发一些像cssarrowplease.com 这样的业余项目。Simon 的Twitter 是@shojberg。Karl Mikkelsen 是LockedOn 的一位高级PHP 和JavaScript 工程师,工作是开发外观漂亮且功能强大的房地产软件。Karl 对新技术充满热情,喜欢学习以不同的方式做事。如果你在网上找不到他,那他很可能在和妻子攀岩或者在喝咖啡。Jon Beebe 在Dave Ramsey 的数字开发团队里开发应用,专注于一些面向用户的技术,例如Web 和iOS。在这之前,他开发过PHPWeb 服务,也为Final Cut Pro 和Motion 写过插件。他以能够把艺术和代码结合到一起为乐。他的网名是@bejonbee。他自诩是一个热衷阅读的人,喜欢摄影,并且以超出妻子的日常期望为自己的目标。Frankie Bagnardi 是一位高级前端工程师,为多种不同的客户端创造用户体验。在业余时间里,他会在StackOverflo...

内容简介

2014 年横空出世的由Facebook 推出的开源框架React.js,基于Virtual DOM 重新定义了用户界面的开发方式,彻底革新了大家对前端框架的认识,将PHP 风格的开发方式迁移到客户端应用开发。其优势在于可以与各种类库、框架搭配使用。本书是这一领域的首作,由多位一线专家精心撰写,采用一个全程实例全面介绍和剖析了React.js 的方方面面,适合广大前端开发者、设计人员,及所有对未来技术趋势感兴趣者阅读。

图书目录

推荐序1

推荐序2

推荐序3

前言

第1章 React 简介

背景介绍

本书概览

Component 的创建和复合

进阶

React 工具

React 实践

第2章 JSX

什么是JSX

使用JSX 的好处

更加熟悉

更加语义化

更加直观

抽象化

关注点分离

复合组件

定义一个自定义组件

使用动态值

子节点

JSX 与HTML 有何不同

属性

条件判断

非DOM 属性

事件

注释

特殊属性

样式

没有JSX 的React

创建React 元素

简写

延伸阅读及参考引用

JSX 官方规范

第3章 组件的生命周期

生命周期方法

实例化

存在期

销毁& 清理期

实例化

getDefaultProps

getInitialState

componentWillMount

render

componentDidMount

存在期

componentWillReceiveProps

shouldComponentUpdate

componentWillUpdate

componentDidUpdate

销毁& 清理期

componentWillUnmount

反模式:把计算后的值赋给state

总结

第4章 数据流

Props

PropTypes

getDefaultProps

State

放在state 和props 的各是哪些部分

总结

第5章 事件处理

绑定事件处理器

事件和状态

根据状态进行渲染

更新状态

事件对象

总结

第6章 组件的复合

扩展HTML

组件复合的例子

组装HTML

追踪状态

整合到父组件当中

父组件、子组件关系

总结

第7章 mixin

什么是mixin

总结

第8章 DOM 操作

访问受控的DOM 节点

整合非React 类库

侵入式插件

总结

第9章 表单

无约束的组件

约束组件

表单事件

Label

文本框和Select

复选框和单选框

表单元素的name 属性

多个表单元素与change 处理器

自定义表单组件

Focus

可用性

把要求传达清楚

不断地反馈

迅速响应

符合用户的预期

可访问

减少用户的输入

总结

第10章 动画

CSS 渐变组

给渐变class 添加样式

渐变生命周期

使用渐变组的隐患

间隔渲染

使用requestAnimationFrame 实现间隔渲染

使用setTimeout 实现间隔渲染

总结

第11章 性能优化

shouldComponentUpdate

不可变性辅助插件

深入调查拖慢你应用的部分

键(key)

总结

第12章 服务端渲染

渲染函数

React.renderToString

React.renderToStaticMarkup

用React.renderToString 还是用React.renderToStaticMarkup

服务端组件生命周期

设计组件

异步状态

同构路由

单例、实例及上下文

总结

第13章 周边类库

Jest

设置

自动模拟依赖

手动模拟依赖

Immutable.js

Flux

总结

第14章 开发工具

构建工具

Browserify

建立一个Browserify 项目

对代码做出修改

Watchify

构建

Webpack

Webpack 与React

调试工具

基础工具

总结

第15章 测试

上手

测试的类型

工具

第一个测试用例:render 测试

模拟组件

函数监视

监视函数被调用

模拟事件

测试中的组件查找器

mixin 测试

直接测试mixin

把mixin 包含在虚拟组件中进行测试

共享行为的用例

渲染到<body> 中

服务端测试

浏览器自动化测试

启动服务器

总结

第16章 架构模式

路由

Backbone.Router

Aviator

react-router

Om (ClojureScript)

Flux

数据流

Flux 各个部分

Dispatcher

Action

Store

控制视图

管理多个Store

更新Dispatcher

注册依赖行为

总结

第17章 其他使用场景

桌面应用

游戏

电子邮件

绘图

总结