初学react的时候我有一个误区,以为父组件render的一次,会将子组件先卸载,再将子组件重新初始化,事实证明不是。

这是对react生命周期函数不太清楚。

父子组件都初始化后,父组件再render一次,子组件实际上进行的是声明周期函数中的updation更新过程。

其实也很好理解这个生命周期函数,父组件执行更新过程一次,理所当然,子组件也执行一次,要不然你父组件给我的数据变了呢,我怎么知道,所以我也更新一下下。

那什么时候子组件会重新初始化呢,例如如下代码:你用父组件来控制子组件的显示和隐藏,将其隐藏的这种写法,就是将子组件给卸载了,再次显示,就会重新初始化。

当修改isShow为false的时候,子组件就直接进入卸载过程,执行componentWillUnmount函数后,就从dom中移除了。

{this.state.isShow && <SubComponent></SubComponent>}

再将isShow为true的时候, 此时子组件才是又初始化了一次,开始新的生命周期,进入初始化过程,接着是挂载过程。

最新文章

  1. python 数据类型 --- 集合
  2. SFDC中的DEBUG
  3. 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记
  4. css实现背景颜色线性渐变
  5. 无法将 grub-efl-amd64-signed 软件包安装/target/ 中
  6. &lt;&lt;c 和指针 &gt;&gt; 部分笔记。
  7. Echarts双轴图的配置.
  8. rpm包安装
  9. vi常用命令集锦
  10. PHP-购物网站开发设计(二)
  11. Android上掌纹识别第一步:基于OpenCV的6种肤色分割 源码和效果图
  12. httpclient源码分析之MainClientExec
  13. angularJS 源码阅读之一:toDebugString
  14. Java工程师书单(初级、中级、高级)
  15. MyBatis注解select in参数
  16. 【Python】 文件和操作文件方法
  17. Winsock编程基础2(Winsock编程流程)
  18. 枚举进行位运算 枚举组合z
  19. $.contents().find设置的data在iframe子页面无法获取值
  20. ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Synchronization and semapores

热门文章

  1. CodeForces-1006B-Polycarp's Practice
  2. word2vec用到的c语言知识
  3. idea实现简单热部署
  4. 【MobX】391- MobX 入门教程(下)
  5. Nginx(三)--Nginx 的高可用
  6. nginx之 nginx限流配置
  7. java面试题干货126-170
  8. CTF KFIOFan: 2 Vulnhub Walkthorugh
  9. AVProVideo 在android 真机使用经验分享
  10. Linux Redis 安装(带视频)