网站大量收购闲置独家精品文档,联系QQ:2885784924

深入理解 React.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入理解 React

深⼊理解 React 这是一篇源自官方博客 的文章。 在我看来, React 是较早使用 JavaScript 构建大型、快速的 Web 应用 序的技术 方案。它已经被我们广泛应用于 Facebook 和 Instagram 。 React 众多优秀特征中的其中一部分就是,教会你去重新思考如何构建应用 序。 本文中,我将跟你一起使用 React 构建一个具备有哪些信誉好的足球投注网站功能的产品列表。 注意: 如果你无法看到本页内嵌的代码片段,请确认你不是用 https 协议加载本页 的。 从原型 ( mock )开始 假设我们已经拥有了一个 JSON API 和设计师设计的原型。我们的设计师显然不够 好,因为原型看起来如下: JSON接口返回数据如下: [ {category: Sporting Goods, price: $49.99, stocked: true, n ame: Footba }, {category: Sporting Goods, price: $9.99, stocked: true, na me: Baseba }, {category: Sporting Goods, price: $29.99, stocked: fa se, name: Basketba }, {category: E ectronics, price: $99.99, stocked: true, name : iPod Touch}, {category: E ectronics, price: $399.99, stocked: fa se, na me: iPhone 5}, {category: E ectronics, price: $199.99, stocked: true, nam e: Nexus 7} ]; 第一步:拆分用户界面为一个组件树 你要做的第一件事是,为所有组件 (及子组件)命名并画上线框图。假如你和设计师 一起工作,也许他们已经完成了这项工作,所以赶紧去跟他们沟通!他们的 Photoshop 图层名也许最终可以直接用于你的 React 组件名。 然而你如何知道哪些才能成为组件?想象一下,当你创建一些函数或对象时,用到一 些类似的技术。其中一项技术就是单一功能原则,指的是,理想状态下一个组件应该 只做一件事,假如它功能逐渐变大就需要被拆分成更小的子组件。 由于你经常需要将一个JSON数据模型展示给用户,因此你需要检查这个模型结构是 否正确以便你的 UI (在这里指组件结构)是否能够正确的映射到这个模型上。这是 因为用户界面和数据模型在 信息构造 方面都要一致,这意味着将你可以省下很多将 UI 分割成组件的麻烦事。你需要做的仅仅只是将数据模型分隔成一小块一小块的组 件,以便它们都能够表示成组件。 由此可见,我们的 app 中包含五个组件。下面我已经用斜体标示出每个组件对应的 数据。 1. FilterableProductTable (橘色): 包含整个例子的容器 2. SearchBar (蓝色): 接受所有 用户输入 ( user input ) . ProductTable (绿色): 根据 用户输入 ( user input ) 过滤和展示 数 据集合 ( data collection ) 4. ProductCategoryRow (青色): 为每个 分类 ( category ) 展示一列表 头 5. ProductRow (红色): 为每个 产品 ( product ) 展示一列 如果你仔细观察 ProductTab e ,你会发现表头 (包含“ Name ”和“ Price ”标 签)并不是单独的组件。这只是一种个人偏好,也有一定的争论。在这个例子当中, 我把表头当做 ProductTab e 的一部分,因为它是渲染“数据集合”的一份子,这也 是 ProductTab e 的职责。但是,当这个表头变得复杂起来的时候 (例如,添加排 序功能),就应该单独地写一个 ProductTab eHeader 组件。 既然我们在原型当中定义了这个组件,让我们把这些元素组成一棵树形结构。这很简 单。被包含在其它组件中的组件在属性机构中应该是子级: Fi terab eProductTab e

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档