我看过很多文章,相信这个问题不是重复的问题。
根据What is the role of the render() function inside react component?
render函数是的一部分,其中ReactDOM是类对象,它公开了一个名为render的方法,该方法用于将render内容呈现到DOM中。
我还阅读了许多文章,这些文章解释了是如何工作的,它在将其节点呈现给real之前使用了diff进程。
所有的文章(至少我读过的文章)都提到了render()反映了dom
我想知道那个dom是real-dom还是virtual-dom
实际上,我在理解componentDidUpdate() (在render()之后立即被调用)时遇到了一些困难,意识到我对组件的render函数缺乏理解
感谢你的帮助
发布于 2019-02-23 13:48:19
在反应组件生命周期的给定周期内,componentDidUpdate是对道具中的变化作出反应的最后机会。
这是最后一次机会,因为它可以访问prevProps。
和BTW在呈现- getSnapshotBeforeUpdate(prevProps,prevState)之后被调用,然后才调用-getSnapshotBeforeUpdate(prevProps,prevState)。
根据反应医生-
getSnapshotBeforeUpdate()是在最近呈现的输出提交给DOM之前调用的。它使您的组件能够在DOM潜在更改之前从DOM捕获一些信息(例如滚动位置)。这个生命周期返回的任何值都将作为参数传递给componentDidUpdate()。
因此,我假设render方法引用了真正的DOM。
发布于 2019-02-23 13:51:32
与虚拟DOM.To交互,将更新/更改应用到实际DOM中,发挥虚拟DOM的核心功能,提出协调算法。它的工作是想出最优化的解决方案来解决以前和现在的Virtual状态之间的差异。然后将新的Virtual应用于实际DOM。
本文将帮助深入了解虚拟DOM ( https://medium.com/@gethylgeorge/how-virtual-dom-and-diffing-works-in-react-6fc805f9f84e )
https://stackoverflow.com/questions/54842229
复制相似问题