React key的了解

key 的问题

key 不能做下标 用唯一标识符
在 React ,组件每次更新时,会生成一个 虚拟DOM,和原有的虚拟DOM进行对比。
如果是批量生成的一组元素,那React就会根据 key 值去做对比

一个列表中的每一项 key 是唯一的
如果列表中发生顺序等操作变化,key 一定要用数据的id

代码演示

import React, { PureComponent, } from 'react';

// class Popwindows extends PureComponent {

// }


class App extends PureComponent {

    state = {
            data: [{
                    id: 0,
                    content: "第一条数据"
                },
                {
                    id: 1,
                    content: "第二条数据"
                },
                {
                    id: 2,
                    content: "第三条数据"
                },
                {
                    id: 3,
                    content: "第四条数据"
                },
            ]
        }
        //index跟新了
    render() {
        let { data } = this.state;
        return ( <
            div > {
                data.map((item, index) => {
                    return <
                        p key = { item.id } > { item.content } <
                        a onClick = {
                            () => {
                                data = data.filter(itemData => itemData !== item)

                                this.setState({
                                    data: [...data]
                                })
                            }
                        } > 删除 < /a> < /
                    p >
                })
            } <
            /div>
        )
    }

}

export default App;
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值