老师您好,我有一个关于shouldComponentUpdate的小问题

来源:4-9 React 生命周期函数的使用场景

袁门弟子

2020-05-15

dell老师您好,在视频中性能优化时候,如果子组件在该生命周期函数中直接return false,不是就会阻断下面的render执行吗?我们在执行父组件的render的时候(比如例子中的input输入行为),子组件不会在被render,事实上的确是这样。但是为啥在点击添加的时候,也就是改变子组件的props时候,还是可以render呢?我一开始理解的这个return false的行为,是和vue中的导航首位中next(fasle)是一个道理,但看起来又好想不太一样。希望老师可以帮我解答一下。谢谢

写回答

1回答

Nick_arron

2020-05-17

点击添加的时候,是在todoList中新添加了一项,对应的会创建一个新的todoItem,走的流程是 Initialization 到 Mounting,期间并不涉及 shouldComponentUpdate吧,SCU还是在Update过程中起作用。


4
3
CatCian
其实,按照这个思路,在子组件写上componentWIdMount,componentDidMount 打印,可以验证的。
2020-08-07
共3条回复

React零基础入门到实战,完成企业级项目简书网站开发

主流新技术 React-redux,React-router4,贯穿基础语法

5275 学习 · 2496 问题

查看课程