React学习笔记之列表渲染示例详解


Posted in Javascript onAugust 22, 2017

前言

本文主要给大家介绍了关于React列表渲染的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

示例详解:

列表渲染也很简单,利用map方法返回一个新的渲染列表即可,例如:

const numbers = [1, 2, 3, 4, 5]; 
const listItems = numbers.map((number) => 
 <li>{number}</li>
);
ReactDOM.render( 
 <ul>{listItems}</ul>,
 document.getElementById('root')
);

基础列表组件的构造中,有一个重要的属性值key需要你进行指定,这个很重要,和帮助框架进行性能优化有关,具体深入原因后续会继续了解,先来看例子:

function NumberList(props) { 
 const numbers = props.numbers;
 const listItems = numbers.map((number) =>
 <li key={number.toString()}>
  {number}
 </li>
 );
 return (
 <ul>{listItems}</ul>
 );
}

const numbers = [1, 2, 3, 4, 5]; 
ReactDOM.render( 
 <NumberList numbers={numbers} />,
 document.getElementById('root')
);

需要注意的是key的指定需要是其值是唯一的,因为它能帮助框架更好的识别列的改变,添加和删除,如果有稳定的唯一键值就使用唯一键值,如果没有可以使用index来进行标识,但是不提倡在列表会进行频繁排序的时候使用index,因为这样会使得性能下降。

例如:

const todoItems = todos.map((todo) => 
 <li key={todo.id}>
 {todo.text}
 </li>
);
const todoItems = todos.map((todo, index) => 
 // Only do this if items have no stable IDs
 <li key={index}>
 {todo.text}
 </li>
);

出来以上用map构造好列表外,map的语法还可以内嵌到jsx语法中,只要加上{}即可,写法多种多样,可以选一种自己顺眼的哦,呵呵哒。

例如以下两种写法是一样滴:

function NumberList(props) { 
 const numbers = props.numbers;
 const listItems = numbers.map((number) =>
 <ListItem key={number.toString()}
    value={number} />
 );
 return (
 <ul>
  {listItems}
 </ul>
 );
}

function NumberList(props) { 
 const numbers = props.numbers;
 return (
 <ul>
  {numbers.map((number) =>
  <ListItem key={number.toString()}
     value={number} />
  )}
 </ul>
 );
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
用javascript编写的第一人称射击游戏
Feb 25 Javascript
JQuery实现倒计时按钮的实现代码
Mar 23 Javascript
动态加载jQuery的方法
Jun 16 Javascript
javascript检查浏览器是否已经启用XX功能
Jul 10 Javascript
jquery实现网页定位导航
Aug 23 Javascript
浅谈JS如何实现真正的对象常量
Jun 25 Javascript
JavaScript变量作用域_动力节点Java学院整理
Jun 27 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
Apr 20 Javascript
pm2发布node配置文件ecosystem.json详解
May 15 Javascript
详解小程序开发经验:多页面数据同步
May 18 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
Apr 22 Javascript
利用promise及参数解构封装ajax请求的方法
Mar 24 Javascript
bootstrap switch开关组件使用方法详解
Aug 22 #Javascript
Javascript中toFixed计算错误(依赖银行家舍入法的缺陷)解决方法
Aug 22 #Javascript
jQuery实现广告条滚动效果
Aug 22 #jQuery
基于jQuery的表单填充实例
Aug 22 #jQuery
JS倒计时实例_天时分秒
Aug 22 #Javascript
老生常谈javascript的面向对象思想
Aug 22 #Javascript
使用jQuery实现简单的tab框实例
Aug 22 #jQuery
You might like
PHP中FTP相关函数小结
2016/07/15 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
tp5.1 框架数据库高级查询技巧实例总结
2020/05/25 PHP
accesskey 提交
2006/06/26 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
js动态创建、删除表格示例代码
2013/08/07 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
PHP+jQuery+Ajax+Mysql如何实现发表心情功能
2015/08/06 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
jQuery实现简单滚动动画效果
2016/04/07 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
2017/04/19 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
vue + el-form 实现的多层循环表单验证
2020/11/25 Vue.js
[01:22]DOTA2神秘商店携大量周边降临完美大师赛
2017/11/07 DOTA
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
Python函数嵌套实例
2014/09/23 Python
Python实现一个简单的验证码程序
2017/11/03 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
基于python历史天气采集的分析
2019/02/14 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
Python使用itchat 功能分析微信好友性别和位置
2019/08/05 Python
基于keras中的回调函数用法说明
2020/06/17 Python
PyCharm 2020.2 安装详细教程
2020/09/25 Python
小学英语教学反思
2014/01/30 职场文书
12月红领巾广播稿
2014/02/13 职场文书
喷漆工的岗位职责
2014/03/17 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
二审答辩状范文
2015/05/22 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android