老师,关于子组件的render函数我想问一下

来源:4-8 React 的生命周期函数

Ericlay

2019-07-23

就是子组件的render函数在父组件传递的props发生改变就执行我这点是知道的,但是为什么在我点击button的时候有N个子组件,子组件的render就执行N次呢?

写回答

2回答

慕容欧阳什么的

2019-07-24

如果没有增加shouldComponentUpdate()的,当前点击button之前,假设已经有2个listItem了,现在点击button来新增一个,具体情况是这样的:由于父组件todolist的inputValue更新了,导致父组件render一次,这样子组件的render就会执行两次(因为假设了目前已经有2个listIte),又因为父组件的list同时也更新了,父组件再次render时由于list长度加一了,这次子组件的render次数就变成3了。
所以我们需要在子组件里增加shouldComponentUpdate,当渲染已经存在的listItem时,就不要重新render了。

0
0

Ericlay

提问者

2019-07-24

我在下节课找到答案了

0
0

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

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

5275 学习 · 2496 问题

查看课程