【发布时间】:2019-12-28 12:13:36
【问题描述】:
React portals 让您将 React 子元素渲染到不同的 DOM 元素中,在页面上完全独立的某个地方。
我想做相反的事情:我想在页面的其他地方渲染一次 DOM 元素,然后根据我的反应树将其拉入我的 React DOM 输出。
具体用例是Monaco Editor。这是一个复杂的组件,从头开始渲染成本高,但更新成本低。在我的应用程序中,编辑器会随着用户打开/关闭不同的内容而出现/消失。这意味着 React 每次打开新内容时都会从头开始创建组件,而创建新编辑器的延迟使该操作比我想要的要慢。
我想将其渲染一次,将其隐藏在某个地方,然后在需要时将其显示在我的 DOM 中的正确位置。我知道我在任何时候都只需要一个实例。
【问题讨论】:
标签: javascript reactjs performance dom