react学习笔记——4. 虚拟dom中处理动态数据

news2024/11/23 16:29:23

如下需求

在这里插入图片描述

  • 方式1: 直接在ul中使用{data},是可以遍历数据的,然后如果将data改成下面形式,也是可以实现的。但是如果data是一个对象,则不能便利。
const data = [<li>Angular</li>, <li>React</li>, <li>Vue</li>]
  • 方式2: 使用data.map处理,并返回数据,这里需要注意返回的标签中需要有key,否则会有警告,这里暂且将key设置为遍历的idx,但是其实是有问题的,以后会修改。
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 这是进行移动端适配的 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>jsx小练习</title>

</head>

<body>
    <!-- 准备“容器” -->
    <div id="test"></div>

    <script src="../js/react.development.js"></script>
    <script src="../js/react-dom.development.js"></script>
    <script src="../js/babel.min.js"></script>
    <script type="text/babel">
        // 模拟数据
        const data = ["Angular", "React", "Vue"]
        // 1、创建虚拟dom
        const VDOM = (
            <div>
                <h1>前端js框架列表</h1>
                <ul>
                    {data.map((item, idx) => {
                        return <li key={idx}>{item}</li>
                    })}
                </ul>
            </div>
        )
        // 2、渲染虚拟dom到页面
        ReactDOM.render(VDOM, document.getElementById("test"))
        /**
         * 方式1:
         *      直接在ul中使用{data},是可以遍历数据的,然后如果将data改成下面形式,也是可以实现的。但是如果data是一个对象,则不能便利。
         *      const data = [<li>Angular</li>, <li>React</li>, <li>Vue</li>]
         * 方式2:
         *      使用data.map处理,并返回数据,这里需要注意返回的标签中需要有key,否则会有警告,这里暂且将key设置为遍历的idx,但是其实是有问题的,以后会修改。
        */
    </script>
</body>

</html>

注意: 这里需要注意虚拟标签中能书写的都是表达式,不是js代码。表达式是指一个值,可以用变量进行接收。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/868777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c语言——统计分类

我们将一个班的成绩进行分类&#xff0c; 成绩60分以下的为c、成绩61-89分的为b&#xff0c;90分以上的为A //统计分类 /*我们将一个班的成绩进行分类&#xff0c; 成绩60分以下的为c、成绩61-89分的为b&#xff0c;90分以上的为A */ #include<stdio.h> int main() …

MyBatis的XML映射文件

Mybatis的开发有两种方式&#xff1a; 注解 XML配置文件 通过XML配置文件的形式来配置SQL语句&#xff0c;这份儿XML配置文件在MyBatis当中也称为XML映射文件。 导学&#xff1a;在MyBatis当中如何来定义一份儿XML映射文件&#xff1f; 在MyBatis当中&#xff0c;定义XML…

HCIP的BGP基础实验

一、实验需求 除R5的5.5.5.0环回外&#xff0c;其他所有的环回均可互相一访问。 二、实验步骤 1.配置ip 2.建立邻居关系 2.1 R1和R2建立直连的EBGP邻居关系 [r1]bgp 1 [r1-bgp]router-id 1.1.1.1 [r1-bgp]peer 12.1.1.2 as-number 2 要建的话双方都要建下面配置R2 [r2]bgp…

“冰箭卫士·IP发布会”首次亮相第14届海峡两岸(厦门)文博会

2023年8月6日,“冰箭卫士IP发布会”首次亮相海峡两岸文博会思明馆。此次发布会由厦门市文化创意产业协会、厦门理工&#xff08;集美区&#xff09;政产学研基地主办&#xff0c;厦门市文化创意产业协会IP设计研究院、厦门一笔之上文化发展有限公司、冰箭应急安全科技研究院承办…

springboot 设置自定义启动banner背景图 教程

springboot banner Spring Boot中的banner是在应用程序启动时显示的一个ASCII艺术字符或文本。它被用来给用户展示一些关于应用程序的信息&#xff0c;例如名称、版本号或者公司标志等。 使用Spring Boot的默认设置&#xff0c;如果项目中有一个名为“banner.txt”的文件放置…

交换排序——选择排序和冒泡排序的区别是什么?

今天重温一下算法&#xff0c;其实刚开始我觉得冒泡排序和选择排序是一样的&#xff0c;因为他们排序过程中都是通过相邻的数据比较找到最小/最大的数据&#xff0c;通过不断思考和学习才明白&#xff0c;两者还是有区别的。 冒泡排序 概念 冒泡排序(Bubble Sort)&#xff0…

【面试专题】Java核心基础篇①

&#x1f4c3;个人主页&#xff1a;个人主页 &#x1f525;系列专栏&#xff1a;Java面试专题 目录 1.面向对象的三大特性&#xff1f;分别解释下&#xff1f; 2.介绍一下Java的数据类型 3.说一说重写与重载的区别 4.说一说你对static关键字的理解 5.static修饰的类能不能…

ESP-01S Wi-Fi 模块:配置接线

ESP-01S Wi-Fi 模块&#xff1a;配置接线 参考&#xff1a;使用esp-01s与继电器配合实现远程开关灯 (zhihu.com) ESP-01S WiFi 模块 – 配置布线 - 技术探索 (techexplorations.com) 本文提供了将 ESP8266 Wi-Fi 模块与 Arduino Uno 配合使用的分步指南&#xff0c;重点介绍了…

湘大 XTU OJ 1291 Buying Gifts 题解(非常详细):枚举 维护最小值 排序

一、链接 1291 Buying Gifts 二、题目 题目描述 快到年末了&#xff0c;Boss Liu准备在年会上发些礼物&#xff0c;由于不想礼物的价格区别太大&#xff0c;Boss Liu希望最好的礼物与最差的礼物价格相差越小越好。 当然&#xff0c;如果存在相同的选择&#xff0c;Boss Liu…

python num循环怎么从1开始

如何实现python for循环从1开始&#xff1f; range()函数的作用和用法&#xff1a; 编写一个从数值1开始的循环&#xff1a; 执行后得到的结果 其他注意事项

类的派生

目录 1.1 派生方法一(类调用) 1.2 派生方法二(super) python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502 1.1 派生方法一(类调用) 指名道姓访问某一个类的函数&#xff1a;该方式与继承无关 class …

QGIS3.28的二次开发七:创建地图工具

地图工具是输入设备&#xff08;一般指鼠标与键盘&#xff09;与画布&#xff08;QgsMapCanvas&#xff09;的交互接口。它负责处理所有用户通过输入设备&#xff08;鼠标和键盘&#xff09;和画布互动的操作&#xff0c;例如镜头控制、要素绘制、标识工具等。 QgsMapTool 是地…

知识付费小程序制作

知识付费小程序是一种通过在线平台提供知识付费服务的应用程序。它为知识提供者和知识需求者之间搭建了一个便捷的交流平台&#xff0c;让用户可以通过支付一定费用来获取专业的知识、技能或经验。 这类小程序通常具有以下核心功能&#xff1a; 1. 课程发布与管理&#xff1a…

内网渗透——入门篇(5%)

内网渗透——入门篇&#xff08;5%&#xff09; 参考文章&#xff1a;​​内网渗透学习&#xff08;一&#xff09;内网入门基础 - leviathan123 - 博客园 (cnblogs.com)​​​ 第一部分 内网常用名词及工具介绍 内网也指局域网&#xff0c;是指在某一区域由多台计算机互连而…

SQLServer 实现数据库表复制到另一个数据库_kaic

SQLServer 实现数据库表复制到另一个数据库 一、如果两个数据库在同一台服务器上 1、复制表结构和数据(A->B)&#xff1a; SELECT * INTO DatabaseB.dbo.TableB FROM DatabaseA.dbo.TableA 2、仅仅复制表结构(A->B)&#xff1a; SELECT * INTO DatabaseB.dbo.TableB …

shell和反弹shell

文章目录 是什么&#xff1f;bash是什么&#xff1f;反弹shell 是什么&#xff1f; Shell 是一个用 C 语言编写的程序&#xff0c;它是用户使用 Linux 的桥梁。Shell 既是一种命令语言&#xff0c;又是一种程序设计语言。 Shell 是指一种应用程序&#xff0c;这个应用程序提供了…

MySQL语句总和之表数据操作(增删改查)

目录 1、增加 insert into 表 (字段1&#xff0c; 字段3&#xff0c; 字段5) values(value1, value2, value3&#xff09; insert into 表 [(字段1&#xff0c; 字段2&#xff0c; 字段3....)] values(value1, value2,value3.....)[,(value1, value2, value3....) .....] in…

2023年即将推出的CSS特性对你影响大不大?

Google开发者大会每年都会提出有关于 Web UI 和 CSS 方面的新特性&#xff0c;今年又上新了许多新功能&#xff0c;今天就从中找出了影响最大的几个功能给大家介绍一下 :has :has() 可以通过检查父元素是否包含特定子元素或这些子元素是否处于特定状态来改变样式&#xff0c;也…

Python中的诡异事:不可见字符!

文章目录 前言1. 起因2. 调查3. 高能4. 释惑 前言 今天分享一件很诡异的事情&#xff0c;我写代码的时候遇到了不可见的字符&#xff01;&#xff01;&#xff01; 1. 起因 今天在使用pipreqs导出项目中所依赖的库时突然报错了&#xff1a; pipreqs . --encodingutf-8 --forc…

AtcoderABC222场

A - Four DigitsA - Four Digits 题目大意 给定一个整数N&#xff0c;其范围在0到9999之间&#xff08;包含边界&#xff09;。在将N转换为四位数的字符串后&#xff0c;输出它。如果N的位数不足四位&#xff0c;则在前面添加必要数量的零。 思路分析 可以使用输出流的格式设…