React面试题:React如何判断什么时候重新渲染组件?

React如何判断什么时候重新渲染组件?

  • 回答思路:组件状态什么时候会改变-->什么时候重新渲染组件-->讲一下shouldComponentUpdate
    • 组件状态什么时候会改变?
    • 什么时候重新渲染组件
    • 讲一下shouldComponentUpdate

回答思路:组件状态什么时候会改变–>什么时候重新渲染组件–>讲一下shouldComponentUpdate

组件状态什么时候会改变?

当props改变时,或者直接通过setState方法改变state时,组件就会获取新状态

什么时候重新渲染组件

(1)state值发生改变时
(2)父组件重新渲染时
什么时候重新渲染组件详细请看此篇文章:(https://blog.csdn.net/laowang357/article/details/135102492?spm=1001.2014.3001.5502)

讲一下shouldComponentUpdate

(1)本质上shouldComponentUpdate是用来性能优化的,它允许我们手动控制组件的重新渲染,避免不必要的渲染,从而提升性能。(在react17被弃用
(2)默认情况下,组件的每次状态或属性发生变化时,React都会重新渲染组件。但是,在某些情况下,组件的重新渲染是不必要的,比如当组件的状态或属性没有发生变化时。这时,我们可以利用shouldComponentUpdate函数来判断是否需要重新渲染组件。
(3)这个方法默认返回true,所以需要重写shouldComponentUpdate方法根据实际情况返回true或false来通知React什么时候重新渲染什么时候跳过重新渲染

你可能感兴趣的:(react.js,javascript,前端,面试)