react小书,怎么渲染列表(react)

2023-10-28

在我们处理数据时,假如我们现在有一个用户列表存放到数组中

const users = [
  { username: 'Jerry', age: 21, gender: 'male' },
  { username: 'Tomy', age: 22, gender: 'male' },
  { username: 'Lily', age: 19, gender: 'female' },
  { username: 'Lucy', age: 20, gender: 'female' }
]

 现在想要将数组里面的数据渲染到我们的页面上时需要怎么做呢,在之前读react的小书时表达式中插入{}里面可以存放任何数据,如果我们将jsx里面塞入一个数组,这个数组里面放了一些jsx的元素可以看到会正常显示

那么将数组对象存放到我们的{}中

const users = [
  { username: 'Jerry', age: 21, gender: 'male' },
  { username: 'Tomy', age: 22, gender: 'male' },
  { username: 'Lily', age: 19, gender: 'female' },
  { username: 'Lucy', age: 20, gender: 'female' }
]
class Index extends Component {
  render () {
    const usersElements = [] // 保存每个用户渲染以后 JSX 的数组
    for (let user of users) {
      usersElements.push( // 循环每个用户,构建 JSX,push 到数组中
        <div>
          <div>姓名:{user.username}</div>
          <div>年龄:{user.age}</div>
          <div>性别:{user.gender}</div>
          <hr />
        </div>
      )
    }
    return (
      <div>{usersElements}</div>
    )
  }
}
ReactDOM.render(
  <Index />,
  document.getElementById('root')
)

就可以进行如下的处理

通过for of语句来进行遍历,将我们的jsx进行罗列渲染

但是在一般情况下不会手动来写循环来构建jsx的结构,一般会用es6中自带的map属性,

const users = [
  { username: 'Jerry', age: 21, gender: 'male' },
  { username: 'Tomy', age: 22, gender: 'male' },
  { username: 'Lily', age: 19, gender: 'female' },
  { username: 'Lucy', age: 20, gender: 'female' }
]
class User extends Component {
  render () {
    const { user } = this.props
    return (
      <div>
        <div>姓名:{user.username}</div>
        <div>年龄:{user.age}</div>
        <div>性别:{user.gender}</div>
        <hr />
      </div>
    )
  }
}
class Index extends Component {
  render () {
    return (
      <div>
        {users.map((user) => <User user={user} />)}
      </div>
    )
  }
}
ReactDOM.render(
  <Index />,
  document.getElementById('root')
)

这里通过在render中来进行map遍历调用user组件,在user组件中来进行属性的调用

在我们的列表渲染中我们需要给react一个key来理解我们的列表,需要对元素来进行唯一的标识

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

react小书,怎么渲染列表(react) 的相关文章

  • Java 核心机制

    Java 核心机制 Java 虚拟机 Java Virtual Machine 简称 JVM 垃圾收集机制 Garbage collection 简称 GC 垃圾收集的目的在移除不再使用的对象 当对象建立的时候垃圾收集期 就开始监控对象的动

随机推荐

  • 图片相相似度计算(Hash、SSIM、compareHist)

    哈希相似度算法 Hash algorithm 用一个快速算法 就达到基本的效果 哈希算法 Hash algorithm 它的作用是对每张图片生成一个固定位数的Hash 值 指纹 fingerprint 字符串 然后比较不同图片的指纹 结果越
  • SDH概述

    1 SDH概述 1 1 SDH产生的技术背景 为什么会产生SDH传输体制 在讲SDH传输体制之前 我们首先要搞清楚SDH到底是什么 那么SDH是什么呢 SDH全称叫做同步数字传输体制 由此可见SDH是一种传输的体制 协议 就像PDH 准同步
  • 基于视频图像的火灾检测算法

    要求 视频帧满足R x y gt gt R x y gt 190 gt 100 140 Y x y Cr x y x y Cb x y Y x y gt 通道均值 Cr x y gt 通道均值 Cb x y lt 通道均值条件且满足利用帧差
  • Java IO流分析整理

    Java中的流 可以从不同的角度进行分类 按照数据流的方向不同可以分为 输入流和输出流 按照处理数据单位不同可以分为 字节流和字符流 按照实现功能不同可以分为 节点流和处理流 输出流 输入流 因此输入和输出都是从程序的角度来说的 字节流 一
  • centos8 stream 屏幕共享 远程桌面 vnc 出错

    在连接vnc之前 干脆直接把防火墙禁用掉 免得出现别的麻烦 systemctl stop firewalld systemctl disable firewalld 然后直接去设置开启屏幕共享 然后用vnc客户端连接 会出现以下错误 Una
  • Redis实现分布式锁的7种方案,及正确使用姿势!

    redis学习笔记 7种方案前言 日常开发中 秒杀下单 抢红包等等业务场景 都需要用到分布式锁 而Redis非常适合作为分布式锁使用 本文将分七个方案展开 跟大家探讨Redis分布式锁的正确使用方式 如果有不正确的地方 欢迎大家指出哈 一起
  • Sqlserver 把小数点后面多余的0去掉

    select convert float 0 05000 结果 0 05 保留有效小数 convert decimal 18 4 0 00900 结果 0 0090 保留有效小数后转换数据类型 convert nvarchar 20 con
  • Python实现房产数据分析与可视化 数据分析 实战

    Python库的选择 话说 工欲善其事 必先利其器 虽然我们已经选择Python来完成剩余的工作 但是我们需要考虑具体选择使用Pytho的哪些利器来帮助我们更快更好地完成剩余的工作 我们可以看一下 在这个任务中 主要涉及到四类工作要完成 c
  • python三个变量互换值_Python中有几种办法交换两个变量的值?

    交换两个变量的值方法 这个面试题如果只写一种当然很简单 没什么可以说的 今天这个面试是问大家有几种办法来实现交换两个变量的值 在没开始看具体答案前 你可以先想想看 下面分别来说说这几种方法 1 方法一 通过新添加中间变量temp的方式 这个
  • Angular脚手架系列:四、使用Angular CLI进行Build (构建) 和 部署

    目录 一 Build 二 ng build 三 Build Targets和Environment 四 Serve 五 部署到nginx 一 Build Build主要会做以下动作 编译项目文件并输出到某个目录 Build targets决
  • ConstrainLayout 基础教程2,近期想跳槽的程序员必看

    特性详解 Visibility behavior 可见性的表现 ConstraintLayout对可见性被标记View GONE的控件 后称 GONE控件 有特殊的处理 一般情况下 GONG控件是不可见的 且不再是布局的一部分 但是在布局计
  • 【服务器】查看服务器文件夹大小

    问题描述 服务器的接口突然访问不到了 报错Networ Error 直接想到了 是不是数据库连不上了导致的 然后看了下服务器的硬盘占用情况 当然了 这里是处理过后的了 发现有问题的那个框框那个Avail为0了 查看文件夹占用 查看某个目录下
  • 旋转数组问题“环状替换”解法最详细的说明

    leecode 旋转数组 问题 环状替换 解法的思路 小白向 思路 假设一数组 a 1 2 3 4 5 6 7 8 9 移动位数k 3 从1开始 要将a 0 右移三位 移到a 3 a 3 右移三位 移到a 6 a 6 移到a 0 回到了a
  • 蓝桥杯2020年第十一届国赛真题-重复字符串

    题目描述 如果一个字符串 S 恰好可以由某个字符串重复 K 次得到 我们就称 S 是 K 次重复字符串 例如 abcabcabc 可以看作是 abc 重复 3 次得到 所以 abcabcabc 是 3 次重复字符串 同理 aaaaaa 既是
  • oracle 中使用 select a into b 时遇到空值问题

    今天一朋友问及我这个问题 当记录不存在 会提示 no data 的错误 下面是网上这类问题的解决方法 转载 当在PL SQL中执行SELECT INTO 语句时 如果返回结果集为空 则回触发NO DATA FOUND错误 但是当 SELEC
  • SSL/TLS原理 详细整理版

    1 SSL TLS握手 简化版 浏览器 服务器 发起 gt 1 浏览器通知服务器浏览器所支持的加密协议 接收 接收 lt 2 服务器通知浏览器从1中选用的加密协议 并给予证书 发起 3 用CA的公钥鉴别服务器的证书是否有效 有效则生成一个随
  • element 表格两级单元格合并功能

    代码如下
  • JavaWeb中servlet到底是干什么的

    JavaWeb中servlet到底是干什么的 javaweb工程包括 src下的 java文件WebRoot下的 jsp js等文件当工程运行时 tomcat先把 jsp gt java gt class 计算机只识别 class文件ser
  • andoid逐帧动画oom_帧动画内存OOM?不存在的!—— SurfaceView逐帧解析

    Android 提供了AnimationDrawable用于实现帧动画 在动画开始之前 所有帧的图片都被解析并占用内存 一旦动画较复杂帧数较多 在低配置手机上容易发生 OOM 即使不发生 OOM 也会对内存造成不小的压力 下面代码展示了一个
  • react小书,怎么渲染列表(react)

    在我们处理数据时 假如我们现在有一个用户列表存放到数组中 const users username Jerry age 21 gender male username Tomy age 22 gender male username Lil