不止是UIReact的使用场景探索.docxVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
不止是UIReact的使用场景探索

不止是UIReact的使用场景探索React不仅是一个强大的交互式UI渲染类库,而且还提供了一个用于处理数据和用户输入的绝佳方法。它倡导可重用并且易于测试的轻量级组件。不仅在Web应用中,这些重要的特性同样适用于其他的技术场景。在这一部分内容中,我们将会看到如何在下面的场景中使用React:桌面应用 游戏 电子邮件 绘图 桌面应用借助 atom-shell 或者 node-webkit 这类项目,我们可以在桌面上运行一个 Web应用。来自 Github 的 Atom Editor 就是使用 atom-shell 以及 React创建的。下面将 atom-shell 应用于我们的SurveyBuilder。首先,从这里下载并且安装 atom-shell。使用下面的 desktop 脚本运行 atom-shell,就可以在窗口中打开该应用。//?desktop.js?var?app?=?require(app);?var?BrowserWindow?=?require(browser-window);?//?加载?SurveyBuilder?服务,然后启动它。?var?server?=?require(./server/server);?server.listen(8080);?//?向我们的服务提供崩溃报告。?require(crash-reporter).start();?//?保留?window?对象的一个全局引用。?//?当?javascript?对象被当作垃圾回收时,窗口将会自动关闭。?var?mainWindow?=?null;?//?当所有窗口都关闭时退出。?app.on(window-all-closed,?function()?{???if?(process.platform?!=?darwin)?????app.quit();?});?//?当?atom-shell?完成所有初始化工作并准备创建浏览器窗口时,会调用下面的方法。?app.on(ready,?function()?{???//?创建浏览器窗口。???mainWindow?=?new?BrowserWindow({?????width:?800,?????height:?600???});???//?加载应用的?index.html?文件。???//?mainWindow.loadUrl(file://?+?__dirname?+?/index.html);???mainWindow.loadUrl(http://localhost:8080/);???//?在窗口关闭时触发。???mainWindow.on(closed,?function()?{?????//?直接引用?window?对象,如果你的应用支持多个窗口,通常需要把?window?存储到?????//?一个数组中。此时,你需要删除相关联的元素。?????mainWindow?=?null;???});?});?借助 atom-shell 或者 node-webkit 这类项目,我们可以将创建 web的技术应用于创建桌面应用。就像开发 web 应用一样,React同样可以帮助你构建强大的交互式桌面应用。游戏通常,游戏对用户交互有很高的要求,玩家需要及时地对游戏状态的改变做出响应。相比之下,在绝大多数web应用中,用户不是在消费资源就是在产生资源。本质上,游戏就是一个状态机,包括两个基本要素:更新视图 响应事件 在本书概览部分,你应该已经注意到:React关注的范畴比较窄,仅仅包括两件事:更新 DOM 响应事件 React 和游戏之间的相似点远不止这些。React 的虚拟 DOM 架构成就了高性能的3D 游戏引擎,对于每一个想要达到的视图状态,渲染引擎都保证了对视图或者DOM 的一次有效更新。2048这个游戏的实现就是将 React 应用于游戏中的一个示例。这个游戏的目的是把桌面上相匹配的数字结合在一起,直到2048。下面,深入地看一下实现过程。源码被分为两部分。第一部分是用于实现游戏逻辑的全局函数,第二部分是React 组件。你马上会看到游戏桌面的初始数据结构。var?initial_board?=?{???a1:null,?a2:null,?a3:null,?a4:null,???b1:null,?b2:null,?b3:null,?b4:null,???c1:null,?c2:null,?c3:null,?c4:null,???d1:null,?d2:null,?d3:null,?d4:null?};?桌面的数据结构是一个对象,它的 key 与 CSS中定义的虚拟网格位置直接相关。继初始化数据结构后,你将会看到一系列的函数对该给定数据结构进行操作。这些函数都按照固定的方式执行,返回一

您可能关注的文档

文档评论(0)

3774384 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档