灵心如玉,守一生无惧|

SadicZhou

园龄:3年2个月粉丝:7关注:4

React学习笔记12-循环渲染

在vue中我们一般是通过v-for指令来进行循环渲染的,但react中没有封装相关指令供我们调用

在react中我们可以通过数组的map方法来进行数据的循环渲染

复制代码
import React, { Component } from 'react'

export default class App extends Component {
    constructor() {
        super()
        this.state = {
            list: [
                '1111',
                '2222',
                '3333'
            ]
        }
    }
    render() {
        return (
            <div>
                <ul>
                    {this.state.list.map((item, index) =>
                        <li key={index}>{item}</li>
                    )}
                </ul>
                <button onClick={
                    () => {
                        this.state.list.push('4444')
                        this.setState({
                            list: this.state.list
                        })
                    }
                }>add</button>
            </div>
        )
    }
}
/* 
    为了列表的复用和重排,设置key值提高性能
    理想key,不重复的id
*/
/* 
     原生JS-map
*/

var list = ["aa", "bb", "cc"]

var newlist = list.map(item =>
    `<li>${item}</li>`
)
console.log(newlist)
复制代码

为了实现列表的复用和重排的效率我们需要给每一个循环渲染出来的dom设置一个唯一标识key

在虚拟dom进行对比时可以通过这个key直接让key相同的dom进行比较实现每个dom点对点的对比,而不需要进行双层循环。

让每个dom都跟所有的dom进行对比。提高了虚拟dom更新的速度

本文作者:SadicZhou

本文链接:https://www.cnblogs.com/SadicZhou/p/17776687.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   SadicZhou  阅读(116)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 尚好的青春 孙燕姿
  2. 2 孙燕姿
  3. 3 克卜勒 孙燕姿
尚好的青春 - 孙燕姿
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.