[react] 请说说你对react的render方法的理解
render是class组件中必须被重载的方法,组件执行render方法的条件如下:
- 初始渲染
this.setState
方法,参数不能为null
,及时this.setState({})
,或者setState
一个相同的值,也会导致render函数的执行- props的改变(采用浅比较)
this.forceUpdate
,render函数中如果依赖了非state
和props
的其它变量,就需要用这个方式强制render
函数执行- 父组件更新,会导致所有子组件的render方法执行
render方法的执行不一定会导致DOM的重新渲染,DOM的重新渲染的条件是render前后的DOM diff比较的结构不一致。
个人简介
我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论
主目录
与歌谣一起通关前端面试题