• react循环实现及key的作用


    首先,我们需要引入react的库

    1. <script type="text/javascript" src="../day03/js/react.development.js"></script>
    2. <script type="text/javascript" src="../day03/js/react-dom.development.js"></script>
    3. <script type="text/javascript" src="../day03/js/babel.min.js"></script>

    接着我们定义一组数据,可以是数组或者是对象

    1. class Person extends React.Component{
    2. state={
    3. PersonArr:[
    4. {
    5. id:1,
    6. name:'大哥',
    7. age:19
    8. },
    9. {
    10. id:2,
    11. name:'二弟',
    12. age:23
    13. },
    14. ]
    15. }
    16. }

    接下来,我们进行数据的循环,有两种写法,一个是写在return之前,另一种方法是写在根标签中

    1. render(){
    2. let dom=this.state.PersonArr.map((item,index)=>{
    3. return <li key={item.id}>{item.name}</li>
    4. })
    5. return(
    6. <div>
    7. <h4>三傻进城</h4>
    8. <ul>
    9. {dom}
    10. </ul>
    11. </div>
    12. )
    13. }

    如上所示,我们的数据循环就完成了,但是在li标签中,我们使用了key,如果不写key,那么他会给我们进行报错,不会影响页面的渲染,错误如下

    key的介绍: 

    key的作用:唯一标识,可以提升性能,避免虚拟dom渲染偷懒产生bug
    场景:在使用index作为key是,逆向添加数据,产生key变化,造成页面渲染异常
    推荐:使用id作为唯一标识
    提升性能:减少不必要的重复渲染

    duff算法:


        1.虚拟dom对象前后对比,当key值不同时,直接进行真实dom渲染
        2.虚拟dom对象前后对比,当key值相同时,内容不同时,替换内容渲染真实dom
        3.key值相同,会进行虚拟dom树层层对比,相同的复用,不同的重新渲染真实dom

  • 相关阅读:
    JavaWeb之初识Tomcat
    mysql主从复制读写分离
    短视频视频制作矩阵剪辑系统---源码,源代码独立搭建
    css文字和span在一行对不齐
    怎么在 OJ 上用 JavaScript 写算法题,赶快学起来~
    vue2学习之动态组件
    Flink SQL管理平台flink-streaming-platform-web安装搭建-整理
    内存操作函数
    基本微信小程序的外卖点餐订餐平台
    Laf 云开发平台及其实现原理
  • 原文地址:https://blog.csdn.net/qq_60976312/article/details/125433342