kal*_*lki 8 reactjs virtual-dom angular2-changedetection angular
我理解变量检测在Angular 5.0中是如何工作的.
有人可以帮助我理解React中的相同功能以及它与Angular的不同之处是什么?
Krz*_*bek 14
React和Angular的变化检测是不同的,但它们有一个非常重要的共同点 - 从内存(而不是DOM)中获取当前和先前状态的差异,并仅渲染已更改的内容.
在Angular中,在高级别上它的工作方式如下:
注意:请注意,如果使用ChangeDetectionStrategy.OnPush,则在树遍历期间可能会省略某些组件及其后代.它可以是很好的优化.
在React中它看起来像这样:
setState调用的组件开始.注意:类似于Angular的ChangeDetectionStrategy.OnPush,在React中我们有类React.PureComponent.我们可以使用这个类来避免不必要的变化检测.
当然还有很多差异,但在高层次上,我认为这些是最重要的.
React变更检测与Angular大致相同,但以下三点除外:
1)何时开始:每当调用组件的setState方法时,差异就开始(而当触发Dom事件,运行setInterval / setTimeout回调以及运行ajax回调时,Angular就会进行差异化)
2)从哪里开始:差异从具有setState的组件开始,然后从其子级开始,直至层次结构(而Angular从最顶层的组件开始)
3)比较什么:差异比较状态更改后当前HTML的虚拟DOM和虚拟DOM。(而Angular使用模板中前后使用的数据绑定值进行比较)
| 归档时间: |
|
| 查看次数: |
1676 次 |
| 最近记录: |