首页 > 科技 > React 快速教程(6):列表 & Key

React 快速教程(6):列表 & Key


列表在网站开发和页面设计的时候,会被多次使用。列表不仅仅用于以排列的方式展示数据信息,也会被用来处理页面的布局,在完成这个快速教程后,我会将关注点立刻转向 React Native 移动应用开发,那么在移动 App 的布局中,到处都能看到列表的存在,打开微信后立刻映入眼帘的就是一个大大的列表,所以它的应用非常广泛。

从这期教程开始,默认就不再提示创建文件夹,创建 js 和 css 文件了。这次创建的一个组件起名叫做 List。

Section 1:在组件内渲染列表DOM

index.js

在最外部的 index.js 文件里,在将 List 组件渲染进 DOM 之前,定义了一个字典列表作为外部的数据,然后把这个数据传递进组件 List 中。那么在组件内部,就可以通过 props 来读取到列表的内容了。这种场景在很多时候都可能会碰到。

List.js

Section 2:分析

在组件的构造方法里,通过 state 创建了一个组件自己内部的列表,内容是三个前端框架的名称。

这次的重点在 render 方法里。首先大家应该明确 JavaScript 的 map 函数的原理。在 render 中,首先就是使用 map 函数遍历了 skills 的每一个元素,然后用元素的内容构成了一个

  • 标签。注意在
  • 里必须设定一个 key 属性,否则 React 会警告。

    另外一段代码,就是利用 props 接收到组件外部传递进来的用户信息,用 map 函数遍历后,每一个用户的信息都是一个字典,那么就 利用

    构建出若干个复杂的DOM。其实 React,或者说 JavaScript 是灵活的,你甚至可以在 render 里现场就开始构建 DOM 列表,但是我建议不要这么做,因为那样会使得代码很混乱,可读性、可维护性会变得非常差,可能还会遭到同事的殴打!所以,将构建好的 DOM 列表保存进一个变量里,比如这里的 skillsList 和 users。

    最后,把构建好的 DOM 列表的变量放进 return 里面的大括号即可。


  • 本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/2305361.html

    setTimeout(function () { fetch('http://www.sosokankan.com/stat/article.html?articleId=' + MIP.getData('articleId')) .then(function () { }) }, 3 * 1000)