博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react列表中,当key改变后发生的事情
阅读量:5922 次
发布时间:2019-06-19

本文共 2074 字,大约阅读时间需要 6 分钟。

Main.jsx

export default class Main extends PureComponent {    constructor(props) {        super(props);        this.state = {            list: [                {                    key: 0,                    value: 1                },                {                    key: 1,                    value: 2                },                {                    key: 2,                    value: 3                }            ]        }        this.setKey = ::this.setKey;    }    componentWillMount() {        console.log('main will mount');    }    componentDidMount() {        console.log('main did mount');    }    componentWillUpdate() {        console.log('main will update');    }    componentDidUpdate() {        console.log('main did update');    }    componentWillUnmount() {        console.log('main will unmount');    }    setKey() {        const { list } = this.state;        this.setState({            list: Array.from(list, item => {                return Object.assign(item, {                    key: item.key + 1                });            })        });    }    render() {        const { list } = this.state;        return (            
{list.map(item =>
)}
) }}

List.jsx

export default class List extends PureComponent {    constructor(props) {        super(props);    }    componentWillMount() {        console.log(`list${
this.props.value} will mount`); } componentDidMount() { console.log(`list${
this.props.value} did mount`); } componentWillUpdate() { console.log(`list${
this.props.value} will update`); } componentDidUpdate() { console.log(`list${
this.props.value} did update`); } componentWillUnmount() { console.log(`list${
this.props.value} will unmount`); } render() { const { value } = this.props; return(
list{value}
) }}

当点击key按钮后会发生什么呢?先分析一下

转载于:https://www.cnblogs.com/hefenghefeng/p/7008495.html

你可能感兴趣的文章
首秀MWC上海 新华三重磅推出电信级云平台
查看>>
Android 控制ScrollView滚动到底部
查看>>
RHEL6 网络桥接
查看>>
公钥与私钥(转载)
查看>>
ETL数据导入/导出工具 HData(支持JDBC、Hive、HDFS、HBase、Kafka等)
查看>>
转:C++中const、volatile、mutable的用法
查看>>
北大成功研制新一代微型化双光子荧光显微镜,大脑解码更上一层楼
查看>>
8Manage助力中机国达向数字化采购管理转型
查看>>
System center 2012 R2 实战六、SCOM2012R2介绍及安装
查看>>
selinux对文件的控制
查看>>
历经30年,仍未解决通讯难题,水下机器人是虚假繁荣吗?
查看>>
excel 2010创建透视表时提示内存资源不足
查看>>
tomcat修改war包路径
查看>>
海思Hi3518EV200(5)图像sensor驱动开发
查看>>
ASP.NET Core配置环境变量和启动设置
查看>>
Oracle CBO 与 RBO
查看>>
SXS完全查杀+预防方案
查看>>
Git-命令
查看>>
FPGA设计——图像处理(阈值分割)
查看>>
LVM逻辑卷和管理快照
查看>>