博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JAVASCRIPT】React学习-组件生命周期
阅读量:4557 次
发布时间:2019-06-08

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

摘要

整理组件加载过程,详细见官方文档:

为什么要了解生命周期?

问题:

React 中,究竟在哪里写 setState 才是合适的?
为什么在有些地方写setState 会造成渲染死循环?
为什么程序中到处都是setState?
父组件通过更新子组件的props, 子组件怎么更新呢?

声明周期

395937-20171130203809273-1166638015.png

初次渲染如果采用 react.component 定义是这样的: constructor , willMount , render , didMount

Unmount 是指从页面上移除此组件,比如隐藏,移除等会触发这个方法,componentWillUnmount 是为了让开发者可以处理 定时器, 事件监听, 网络请求等

Props是外界要求更新,

State是内部要求更新

受控组件与非受控组件

395937-20171130203903773-590941649.png

存在的坑位

  1. React可能会在porps传入时即使没有发生改变的时候也发生重新渲染, (某些属性render时未用,但是逻辑需要) 。所以如果自动控制shouldComponentUpdate,请确保比较props当前值和下一次值,避免重复渲染

  2. setState存在延迟,第二个参数可以监听渲染是否完成,保证重新渲染结束后执行逻辑

    395937-20171130203928742-1503827794.png

395937-20171130203938664-1862100311.png

转载于:https://www.cnblogs.com/huxiaoyun90/p/6396711.html

你可能感兴趣的文章
归档及压缩命令
查看>>
Mybatis步骤
查看>>
WPF自定义控件之扩展原生控件
查看>>
《区块链100问》笔记整理——42~49问
查看>>
使用Jquery+EasyUI 进行框架项目开发案例讲解之二---用户管理源码分享
查看>>
深入理解计算机系统(1.4)---并发与并行、浅谈抽象
查看>>
函数依赖的公理化系统
查看>>
rabbitmq学习(四):利用rabbitmq实现远程rpc调用
查看>>
侯捷C++学习(二)
查看>>
EasyPlayer RTSP Android安卓播放器修复播放画面卡在第一帧bug
查看>>
web项目中全局常量的添加
查看>>
搬运工程 启动!
查看>>
局部加权回归(LWR) Matlab模板
查看>>
Connect to the DSP on C6A8168/DM8168/DM8148 using CCS
查看>>
hibernate在使用getCurrentSession时提示no session found for current thread
查看>>
【Luogu1471】方差(线段树)
查看>>
【agc028E】High Elements(动态规划,线段树,贪心)
查看>>
DEV中svg图标的使用
查看>>
Codefroces Gym101572 I.Import Spaghetti-有向图跑最小环输出路径(Floyd)
查看>>
有关位运算的操作+二进制状态压缩
查看>>