0

我在页面上说过大约 30K+ 组件。单击按钮后,我通过条件渲染卸载所有 30K+ 组件,这在 10+ 秒左右变得超级慢并导致页面挂起。另一方面,在父容器上将 innerHTML 设置为 "" 可以在几毫秒内完成。但是 innerHTML 方法的问题是 React 无法知道这些组件是否已从 DOM 中删除,因此在下一次渲染时,所有 30K+ 组件都会重新出现。有什么方法可以使用 innerHTML 删除所有节点,但仍确保 React 知道所有组件都已卸载?

4

1 回答 1

0

我能够使用 Leaflet.js 的 clearLayers 方法来清除所有标记节点。这修复了卸载缓慢。

于 2020-08-23T13:35:28.067 回答