Javascript 如何管理同时修改DOM

Javascript 如何管理同时修改DOM,javascript,html,reactjs,flux,Javascript,Html,Reactjs,Flux,我是一个新的反应和流量。我有一个web应用程序,我需要使用react和flux部分开发。然而,还有另一个第三方引擎,它与应用程序连接,并使用普通javascript操纵网页的DOM,而无需作出反应 因此,由于基于react的组件创建涉及虚拟dom概念,因此同时修改dom存在问题。是否有人可以建议我如何同时通过React和第三方引擎管理dom修改。您可以研究React组件生命周期方法,以确定谁应该负责呈现dom 例如,如果希望第三方引擎在初始渲染后完全接管React组件的渲染,则可以实现shoul

我是一个新的反应和流量。我有一个web应用程序,我需要使用react和flux部分开发。然而,还有另一个第三方引擎,它与应用程序连接,并使用普通javascript操纵网页的DOM,而无需作出反应


因此,由于基于react的组件创建涉及虚拟dom概念,因此同时修改dom存在问题。是否有人可以建议我如何同时通过React和第三方引擎管理dom修改。

您可以研究React组件生命周期方法,以确定谁应该负责呈现dom

例如,如果希望第三方引擎在初始渲染后完全接管React
组件的渲染,则可以实现
shouldComponentUpdate()
以显式返回
false

shouldComponentUpdate: function(nextProps, nextState) {
    return false;
}

所以,如果我返回false,那么当任何操作发生时,第三方引擎都应该处理dom操作,而不是创建虚拟dom、进行更改和重新命名dom?如果是这样,我们将失去使用React(虚拟dom操作)的意义。如果我错了,请纠正我。这通常是使用多个框架/工具呈现DOM的问题,根据您使用的第三方引擎,职责划分可能非常复杂,协调两个呈现器在同一组件上协同工作可能会很麻烦。此外,使用React也不会失去意义,因为您只将单个React组件的呈现委托给第三方引擎,其余React组件仍将利用虚拟DOM的优势。因此,我建议您选择其中一个,而不是同时使用这两个组件。在对第三方引擎DOM操作与React(听起来像是需要自己创建的一个新的重要层)进行绑定之前,不值得花那么多精力去钻研,直到您对其进行基准测试并明确发现存在性能问题。