javascript - shouldComponentUpdate 和内置 diffing 之间的区别

标签 javascript reactjs

我知道 shouldComponentUpdate() 在返回 false 时会阻止调用 render() 方法。 如果我在 render() 方法中使用一些昂贵的逻辑,那么 shouldComponentUpdate() 是一个非常有用的东西,因为我可以阻止 render()打电话。

但是,如果我的 render() 方法只返回 Element,而不执行任何昂贵的代码,那会怎样呢?

shouldComponentUpdate() 中的比较(让我们以 PureComponent 的实现为例)和 render() 调用时内置的 React diffing 之间有什么区别吗?

最佳答案

我觉得这里写的很棒: https://reactjs.org/docs/reconciliation.html

主要区别在于 React.PureComponent 在旧 props 和新 props 之间以及旧状态和新状态之间进行了浅层比较,但是内置的 React diffing(reconcilation)简要地比较了新旧 DOM 树,但请阅读上面这篇文章,它将解决您的疑惑。

关于javascript - shouldComponentUpdate 和内置 diffing 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53257997/

相关文章:

javascript - 字体-真棒 : Can I make icon clickable?

javascript - 自定义选择问题

javascript - Material-UI Masonry : Remove space on right side

javascript - 如何在 React 中通过内联样式创建多个回退属性?

javascript - React 应用程序中的路由 - 根据 URL 参数加载 jsx

javascript - Material ui + ReactJS 应用程序中的响应式按钮组按钮

javascript - 以 "//"开始 url 并省略 "http:"的效果是什么

javascript - 是否可以检测到 Android 强制门户浏览器?

Javascript 自动完成在 ascx 中不起作用

javascript - 如何使用 safari 缓存 react 触发 componentDidMount?