这个问题是关于架构而不是编码。
这是这种情况。在 React 中,有时我们想隐藏组件。例如,当用户在 SPA 中打开新页面时,当某些 Toast 关闭时等。我们可以通过添加display: none
. 或者我们可以将它们从虚拟 DOM 中移除。
// Hidden div
<div style={{ display: 'none' }}/>
// Removed div
{false && <div/>}
然后我们的一些老年人使用第一种变体。即使他们隐藏了整个页面。这就是他们对这种方法的看法:“这种情况下 React 会预渲染所需的内容,因此当内容必须出现时,它花费的时间更少”。
但是在这种情况下我们不能使用生命周期钩子,因为即使组件隐藏,它也不会被移除。但我认为的主要问题是真正的 DOM 变得巨大。这会带来缓慢,不是吗?
那么,什么更好?
我没有找到关于这个问题的任何对话。也许你可以帮助我。
编辑 1:尽管有一些答案,但我想知道更多的意见。所以,我决定开放赏金