【发布时间】:2020-05-28 11:42:41
【问题描述】:
我试图弄清楚在更新props 后反应库如何重新呈现组件。因此,我有点猴子修补了ReactDOM.render 方法,如下所示:
const oldRender = ReactDOM.render
ReactDOM.render = function(){
// ......
console.log("42")
return oldRender.call(this, ...arguments, () => {
console.log("done")
document.dispatchEvent(new Event('react-dom-rendered'))
})
}
这适用于第一个渲染周期。但是在渲染组件的props 更改后,console.logs 不再打印。为了弄清楚为什么我在文档中读到 ReactDOM.render 只会被称为 once。所以我通过谷歌搜索,就像通过 react 的来源一样,但我无法找出 react 如何在道具更新后重新渲染组件。你能帮帮我吗?
【问题讨论】:
-
“如何”是什么意思?你读过文档吗?你在说Reconciliation吗?你期待什么样的答案?
-
@DennisVash 非常感谢你,是的,我谈论的是
Reconciliation。在最好的情况下,我很想找到实现这种协调的源代码。我阅读了文档,也发现了一些关于它的内容,但不完全是我正在搜索的内容
标签: javascript reactjs