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

发布时间 - 2026-01-11 02:54:15    点击率:

前言

本文主要给大家介绍了关于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>
 );
}

总结

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


# react  # 列表渲染  # 渲染列表数据  # react列表渲染key  # React 组件渲染和更新的实现代码示例  # 浅谈从React渲染流程分析Diff算法  # 详解React服务端渲染从入门到精通  # 关于react中列表渲染的局部刷新问题  # 键值  # 的是  # 相关内容  # 说了  # 两种  # 不多  # 也很  # 给大家  # 如果没有  # 很重要  # 可以使用  # 多种多样  # 这篇文章  # 谢谢大家  # 它能  # 需要注意  # 内嵌  # 有一个  # 不提倡  # 是唯一 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 谷歌Google入口永久地址_Google搜索引擎官网首页永久入口  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  详解MySQL数据库的安装与密码配置  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  网站制作免费,什么网站能看正片电影?  Laravel如何使用Telescope进行调试?(安装和使用教程)  JavaScript如何操作视频_媒体API怎么控制播放  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  如何快速搭建FTP站点实现文件共享?  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  如何快速打造个性化非模板自助建站?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  javascript基于原型链的继承及call和apply函数用法分析  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Android Socket接口实现即时通讯实例代码  Laravel如何为API生成Swagger或OpenAPI文档  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  如何挑选高效建站主机与优质域名?  如何用低价快速搭建高质量网站?  Laravel storage目录权限问题_Laravel文件写入权限设置  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  如何用免费手机建站系统零基础打造专业网站?  北京网站制作的公司有哪些,北京白云观官方网站?  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  LinuxShell函数封装方法_脚本复用设计思路【教程】  js实现点击每个li节点,都弹出其文本值及修改  北京网站制作公司哪家好一点,北京租房网站有哪些?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  WordPress 子目录安装中正确处理脚本路径的完整指南  如何基于云服务器快速搭建个人网站?  如何快速搭建高效WAP手机网站?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Android自定义listview布局实现上拉加载下拉刷新功能  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Python文件操作最佳实践_稳定性说明【指导】  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏