新書推薦:

《
中国丝绸艺术大系·中国丝绸博物馆卷(明清)
》
售價:HK$
1078.0

《
为学习而设计:以任务驱动语文单元整体教学
》
售價:HK$
74.8

《
近三十年新中国史研究前沿问题
》
售價:HK$
107.8

《
中国社会各阶层分析
》
售價:HK$
96.8

《
纯粹·破壁与神游
》
售價:HK$
90.2

《
春秋大义:中国传统语境下的皇权与学术(新版)
》
售價:HK$
96.8

《
女人们的谈话(奥斯卡金像奖最佳影片提名、最佳改编剧本奖 原著!)
》
售價:HK$
61.6

《
忧郁的秩序:亚洲移民与边境管控的全球化(共域世界史)
》
售價:HK$
140.8
|
編輯推薦: |
真正面向实战的React图书揭秘Flux架构|彻底释放React潜能本书由国内前端劲旅奇舞团领衔翻译全面剖析组件化Web应用开发完整流程
|
內容簡介: |
本书面向初中级前端开发者,从头到尾、由浅入深地介绍了使用React实现组件化Web应用的完整流程。作者从React元素、React组件等基本的概念讲起,循序渐进地讨论了组件状态和生命周期,为开发完整的React应用打下了基础。与第三方JavaScript框架集成,以及对React组件进行单元测试,都是开发React应用的重要内容,本书也有详细讲解。最后,为进一步提升React应用的灵活性,作者还以实例展示了如何引入Flux架构,让读者的开发技能更上一层楼。
|
關於作者: |
奇舞团(奇虎75Team)是奇虎360公司Web平台部前端工程师和 部分特约嘉宾组成的一个前端团队。他们一起工作学习、一起沉淀、一起分享、一起为前端贡献影响,已经翻译出版多本前端著作。 Artemij Fedosejev现居住在英国伦敦。Artemij擅长JavaScript、Node.js、HTML5、CSS3等现代Web技术。他在创WGSA.net和Microreact.org的前端架构中使用了react.js和Flux,从而起到了关键的作用。Artemij还开发了大量的开源项目,如Snapkite引擎、Snapkite流客户端等项目,可以在他的 GitHub 上找到相关内容 https:github.comfedosejev 。
|
目錄:
|
目录
1 给项目预先安装一些有用的工具 ................................................................ 1
了解我们的项目 ....................................................................................................................... 2
安装Node.js 和npm ................................................................................................................ 3
安装Git ................................................................................................................................... 4
从Twitter Streaming API 中获取数据 ..................................................................................... 5
使用Snapkite 引擎来过滤数据 ............................................................................................... 6
创建项目结构 ........................................................................................................................... 9
创建package.json ................................................................................................................... 10
复用Node.js 模块 .................................................................................................................. 11
使用Gulp.js 来构建应用 ....................................................................................................... 12
创建一个网页 ......................................................................................................................... 15
小结 ........................................................................................................................................ 16
2 创建你的第一个React 元素 ..................................................................... 17
理解虚拟DOM ...................................................................................................................... 18
安装React .............................................................................................................................. 19
使用JavaScript 创建React 元素 ........................................................................................... 20
type 参数 ................................................................................................................. 22
props 参数 .......................................................................................................... 22
children 参数 ............................................................................................................ 23
渲染React 元素 ...................................................................................................................... 27
使用JSX 来创建React 元素 ................................................................................................. 28
小结 ........................................................................................................................................ 30
3 创建你的第一个React 组件 ..................................................................... 31
无状态与有状态 ..................................................................................................................... 31
创建第一个无状态React 组件 .............................................................................................. 32
创建第一个有状态React 组件 .............................................................................................. 37
小结 ........................................................................................................................................ 44
4 让React 组件变得可响应 ......................................................................... 45
使用React 解决问题 .............................................................................................................. 45
规划React 应用程序 .............................................................................................................. 47
创建一个React 组件容器 ...................................................................................................... 49
小结 ........................................................................................................................................ 57
5 结合其他库来使用React 组件 .................................................................. 59
在React 组件中使用其他库 .................................................................................................. 59
理解React 组件的生命周期方法 .......................................................................................... 64
挂载方法 ....................................................................................................................... 66
卸载方法 ............................................................................................................................... 71
小结 ........................................................................................................................................ 72
6 更新React 组件 ....................................................................................... 73
理解组件生命周期的更新方法 ............................................................................................. 73
componentWillReceiveProps方法 .......................................................................................... 74
shouldComponentUpdate方法 ...................................................................................... 77
componentWillUpdate方法 ........................................................................................ 77
componentDidUpdate方法 ......................................................................................... 78
设置React 组件的默认属性 .................................................................................................. 79
验证React 组件的属性 .......................................................................................................... 83
创建Collection 组件 ............................................................................................................. 85
小结 ........................................................................................................................................ 91
7 构建复杂的React 组件 ............................................................................ 93
创建TweetList 组件 ............................................................................................................... 93
创建CollectionControls 组件 ................................................................................................ 98
创建CollectionRenameForm 组件 ...................................................................................... 105
创建Button 组件 .................................................................................................................. 111
创建CollectionExportForm 组件 ......................................................................................... 112
小结 ...................................................................................................................................... 114
8 使用Jest 来测试React 应用程序 ........................................................... 115
为什么要写单元测试 ........................................................................................................... 115
创建测试套件、规范和期望 ............................................................................................... 115
安装并运行Jest .................................................................................................................... 121
创建更多的测试规范和期望 ............................................................................................... 122
测试React 组件 .................................................................................................................... 130
小结 ................
|
內容試閱:
|
推荐序
你是否厌倦了写jQuery 的回调汤?是否在需要写新模板或者配置Angular 应用时感到抓狂?是否很想知道为什么自己的应用结构如此复杂?如果是这样,那么React.js 正是能满足你需要的框架。React.js 的声明式语法将帮你为大型应用构建数据随时间变化的用户界面。
作为一个专业的iOS 和JavaScript 前端顾问,我总是建议客户使用当下最先进的技术。随着Facebook 的不断推陈出新,React.js 已被证明是一个可靠的选择,它能帮我们创建可维护和高性能的用户界面,进而帮助我们的客户更快地交付产品,实现更迅速的发展。我很高兴知道这本书即将出版,更让我兴奋的是自己居然提前看到了它。
ArtemijFedosejev是一位资深的Web 开发者,在伦敦一家创业公司做技术负责人,他在这本书里展示了为什么声明式的编程风格和单向反应式数据流动常常是解决现实编程问题的最佳途径。无论开发消费者应用还是学术性网站,无论规模大小,React.js 都可以帮你搭建其前端UI。而且你永远不会再迷失在代码中了。这本书是Artemij基于自己的实际经验编写的,读完本书你就可以创建自己的用户界面,而且不会增加应用的复杂性。
这本书涵盖了从零开始学习React.js 所需的一切。它会从最基础的安装环境逐步引导你,直到复杂的Jest 测试框架。最好的学习方法是做中学,所以本书将带你开发一个实际的React.js 项目,创建一个能够对Twitter 上的最新照片实现接收和分类的应用程序。
软件行业不断发展变化。作为开发者,我们总能通过实践把触角伸向新领域,拓宽视野,刷新我们对如何构建优秀软件的认知。从发展历史来看,软件开发和架构已经从结构化发展到命令式。面向对象编程由此成为软件开发的事实标准。Java、Ruby、Objective-C等语言都原生支持OOP。
然而,这时候出现了一个支持函数式编程的异类,走出了一条独特的进化之路,它就是JavaScript。React.js 就是把UI 当作状态的函数这种新思维的产物。Facebook 为了让开发者熟悉这种反应式的思维已经付出了很多努力。与使用模板系统的Ember.js、Angular.js 等流行框架不同,React.js 是一个使用声明式编程风格来描述UI 状态的UI 库。可以把React.js 看成是传统MVC 模式中的V,但它并不限于此。Facebook 又引入了一个互补性的Flux 应用架构,它使用React 的可组合视图组件。
解决编程问题的最新方法又回到了声明式编程的起点。新范式的兴起,比如ReactiveExtensions(Rx)、Futures 和Promise 让我们开始重新思考函数式编程,以及使用声明式方法代替OOP 的命令式风格。React.js 体现了这样一些范式,而这本书正是你掌握它的第一步,相信你会喜欢它。
Alex Bush
SmartCloud公司创始人兼软件产品工程师
|
|