react动态渲染列表与函数式组件

1.如何使用jsx语法动态渲染列表呢,下边我用一个例子来切实总结一下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>jsx练习动态渲染列表</title>
</head>
<body><!-- 引入react 核心库 --><script type="text/javascript" src="../js/react.development.js"></script><!-- 引入react-dom库 ,用于支持react操作Dom --><script type="text/javascript" src="../js/react-dom.development.js"></script><!-- 引入babel 解析jsx语法的库,用于将jsx转换为js --><script type="text/javascript" src="../js/babel.min.js"></script><!-- 准备一个容器用于渲染接收虚拟dom --><div id="test"></div><script type="text/babel">// 一定注意区分:【js语句】和【js表达式】// 表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方// 下边这些都是表达式// (1)a// (2)a+b// (3)demo(1)// (4)arr.map()//  (5)function(){}// 语句(代码)// 下边这些都是语句(代码)控制代码走向// (1)if(){}// (2)for(){}// (3)while(){}// (4)switch(){}const myData = [{id:1,name:'张三',age:18},{id:2,name:'李四',age:19},{id:3,name:'王五',age:20},{id:4,name:'赵六',age:21},{id:5,name:'孙七',age:22},]// 创建虚拟domconst VDOM = (<div><h1>前端jsx框架</h1><ul>{myData.map((item,index) =>{return <li key={index}>{item.id}{item.name}{item.age}</li>})}</ul></div>)// 渲染虚拟dom到页面ReactDOM.render(VDOM,document.getElementById('test'))</script>
</body>
</html>

2.函数式组件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>函数式组件</title>
</head>
<body><!-- 引入react 核心库 --><script type="text/javascript" src="../js/react.development.js"></script><!-- 引入react-dom库 ,用于支持react操作Dom --><script type="text/javascript" src="../js/react-dom.development.js"></script><!-- 引入babel 解析jsx语法的库,用于将jsx转换为js --><script type="text/javascript" src="../js/babel.min.js"></script><!-- 准备一个容器用于渲染接收虚拟dom --><div id="test"></div><script type="text/babel">// 1.创建函数式组件function Hello_react(){console.log(this);//此处this是undefinded,因为babel编译后开启了严格模式return(<div><h2>你好我是函数式组件</h2></div>)}ReactDOM.render(<Hello_react/>,document.getElementById('test'))</script>
</body>
</html>

通过上述例子总结

        1.函数式组件,其实就是一个函数,返回值就是虚拟dom
        2.函数名就是组件名,首字母必须大写
        3.函数名必须和文件名一致
        4.函数式组件没有this,但是可以通过props获取父组件向子组件传递的属性
        5.函数式组件没有状态,但是可以通过props向子组件传递状态
        6.函数式组件没有生命周期,但是可以通过props向子组件传递生命周期


        ReactDOM.render(<Hello_react/>,document.getElementById('test'))之后发生了什么?
        1.React解析组件标签,找到了ello_react组件
        2.发现组件是使用函数定义的,随后调用该函数,将返回的虚拟DOM转为真实DOM,随后就是看到的页面


       

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

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

相关文章

主流 Canvas 库对比:Fabric.js、Konva.js 和 Pixi.js

在前端开发中&#xff0c;HTML5 Canvas 是一个强大的工具&#xff0c;可以用来创建图形、动画和各种视觉效果。为了简化和增强 Canvas 的使用&#xff0c;社区中出现了许多库。本文将对比三种主流的 Canvas 库&#xff1a;Fabric.js、Konva.js 和 Pixi.js&#xff0c;分析它们的…

魔行观察-AI数据分析>>勒泰中心购物中心

摘要 本报告基于 魔行观察 搜集整理的数据&#xff0c;对勒泰中心购物中心的营业状态、商户构成、业态分布以及消费者评价进行了详细分析。 商场概览 勒泰中心是一个正常营业的购物中心&#xff0c;自2013年开业以来&#xff0c;已成为当地居民和游客的重要购物和休闲场所。…

golang写的自动更新器

文件自动更新器&#xff0c;这个很多端游和软件都有用到的。 golang的rpc通信&#xff0c;是非常好用的一个东西&#xff0c;可以跟调用本地函数一样&#xff0c;调用远程服务端的函数&#xff0c;直接从远程服务端上拉取数据下来&#xff0c;简单便捷。 唯一的遗憾就是&#x…

Vue3实战笔记(65)—记录本项目浪费不少时间求证的问题

文章目录 前言一、多个根问题二、动画失效三、首次加载动画效果不生效&#xff0c;不同router-view之间切换无动画效。总结 前言 笔记最重要的作用就是温故而知新&#xff0c;最近遇到不少问题都是曾经遇到的&#xff0c;知道就是想不起来&#xff0c;查查自己的笔记都轻松解决…

Speculative decoding 投机采样原理和验证

概念 做法有很多&#xff0c;这里介绍最广泛被人认识的一种&#xff08;朴素投机采样&#xff09; 瓶颈&#xff1a; 大模型推理自回归采样&#xff0c;逐步串行解码。 生成的每个Token都需要将所有参数从存储单元传输到计算单元。 因此&#xff1a;内存访问带宽成为重要的瓶颈…

python gdal 压缩栅格数据

1 压缩方法LZW 使用 LZW&#xff08;Lempel-Ziv-Welch&#xff09;&#xff0c;主要对图像数据压缩&#xff0c;可逆 2 代码 函数gdal_translate()&#xff1a;转换栅格的不同格式 我们使用的数据是GTiff格式的数据 GTiff – GeoTIFF File Format — GDAL documentation 参…

EtherCAT主站IGH-- 6 -- IGH之device.h/c文件解析

EtherCAT主站IGH-- 6 -- IGH之device.h/c文件解析 0 预览一 该文件功能`device.c` 文件功能函数预览二 函数功能介绍1. `ec_device_init`2. `ec_device_clear`3. `ec_device_attach`4. `ec_device_detach`5. `ec_device_open`6. `ec_device_close`7. `ec_device_tx_data`8. `ec…

怎样保存python文件

按下“CtrlS”键即可快速保存Python文件。 或者点击“File”&#xff0c;在下拉菜单中选择“Save”。 打开后我们就会看到这样的一个页面窗口了。 我们还能在这里进行路径的保存位置的查找。 然后在这里选择文件类型&#xff0c;并输入文件名。 接下来我们点击保存就可以完成操…

上位机网络通讯

目录 一 设计原型 二 后台源码 一 设计原型 二 后台源码 using System; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace 上位机网络通讯 {public partial class Form1 : Form{public Form1(){Initializ…

[linux 配置]Ubuntu SSH登录配置

安装一个Ubuntu操作系统&#xff0c;有可能不能通过SSH登录&#xff0c;可能因为没有安装SSH或者没有配置SSH 安装 //打开终端 sudo apt-get install openssh-server 查看安装状态 ps -e |grep ssh 配置 主要修改两个配置文件&#xff1a; 进入ssh目录下 cd /etc/ssh …

【高考志愿】地质资源与地质工程

目录 一、专业概述 1.1 专业定义 1.2 主要课程 1.3 专业培养目标 二、就业前景和考研方向 三、工作特点和挑战 四、如何培养核心竞争力 五、 地质资源与地质工程专业排名 六、结语 关于高考志愿选择地质资源与地质工程专业&#xff0c;以下是一些详细的介绍和参考信息…

实习总结 --- 其他业务

一. 回归测试&#xff1a;回归测试与测新是对应的&#xff0c;当需求准入交付测试的时候首先要进行的就是测新&#xff0c;也就是对新功能对测试&#xff0c;一般是在sim环境下测试的&#xff1b;当测新通过后才会进行回归测试&#xff0c;回归测试的目的是为了保证老功能的正确…

串口通信、IIC时序整理

一、串行通信与并行通信 并行通信是指多个比特同时通过并行线进行传输&#xff0c;这种方式的传输速率较高&#xff0c;但会占用大量的芯片资源&#xff1b; 串行通信是指将数据拆分成一个个比特&#xff0c;按照先后次序在一根总线上进行发送&#xff0c;串行通信有着系统占…

代码随想录第42天|动态规划

198.打家劫舍 参考 dp[j] 表示偷盗的总金额, j 表示前 j 间房(包括j)的总偷盗金额初始化: dp[0] 一定要偷, dp[1] 则取房间0,1的最大值遍历顺序: 从小到大 class Solution { public:int rob(vector<int>& nums) {if (nums.size() < 2) {return nums[0];}vector&…

【Rust入门教程】安装Rust

文章目录 前言Rust简介Rust的安装更新与卸载rust更新卸载 总结 前言 在当今的编程世界中&#xff0c;Rust语言以其独特的安全性和高效性吸引了大量开发者的关注。Rust是一种系统编程语言&#xff0c;专注于速度、内存安全和并行性。它具有现代化的特性&#xff0c;同时提供了低…

地理信息科学:生态保护的智慧经纬

在地球这颗蓝色星球上&#xff0c;每一片森林的呼吸、每一条河流的流淌&#xff0c;都是生命交响曲中不可或缺的音符。而地理信息科学&#xff08;GIS&#xff09;&#xff0c;正是我们手中解读自然密码、护航生态平衡的精密仪器。今天&#xff0c;让我们深入探讨GIS如何在生物…

STM32之五:TIM定时器(2-通用定时器)

目录 通用定时器&#xff08;TIM2~5&#xff09;框图 1、 输入时钟源选择 2、 时基单元 3 、输入捕获&#xff1a;&#xff08;IC—Input Capture&#xff09; 3.1 输入捕获通道框图&#xff08;TI1为例&#xff09; 3.1.1 滤波器&#xff1a; 3.1.2 边沿检测器&#xf…

非极大值抑制(NMS):目标检测中的去冗余关键技术

非极大值抑制&#xff08;NMS&#xff09;&#xff1a;目标检测中的去冗余关键技术 在目标检测算法中&#xff0c;非极大值抑制&#xff08;Non-Maximum Suppression, NMS&#xff09;是一种用于去除冗余检测框的关键技术。它通过抑制重叠度过高的检测框&#xff0c;从而提高检…

小米MIX Fold 4折叠屏手机背面渲染图曝光

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 更多资源欢迎关注 7 月 3 日消息&#xff0c;消息源 Evan Blass 今天在 X 平台发布推文&#xff0c;分享了小米 MIX Fold 4 折叠屏手机的高清渲染图&#xff08;图片有加工成分在&#xff0c;最终零售版本可能会存在差异…

列表数据合并

WPS: 使用“&”符号合并单元格内容&#xff1a; 在需要合并的单元格中输入A1&B1&C1以此类推&#xff0c;这样可以将多个单元格的内容合并到一个单元格中。 EXCEL: 使用合并连接符号& 在E2单元格中输入B2&C2&D2&#xff0c;然后按enter回车&#x…