我有一个用React编写的单页应用程序。该应用程序有多个页面,当用户单击导航栏上的选项卡时可以显示这些页面。因此有两种可能的设计:
-
一次装入页面1;每当用户通过单击选项卡在页面之间切换时,卸载并重新安装。
-
同时装载所有页面,仅显示所选页面,同时将其余页面设置为
display = "none"
。
问题:
- 哪个在速度性能方面更好
- 哪一个在内存性能方面更好
- 哪一种是标准做法
我认为这与最佳实践或性能无关。这完全取决于你想要达到的目标。
请记住以下内容:
挂载/重新挂载总是重置组件的状态并重新运行useEffect挂钩(这在react的世界中非常有用(。这意味着,如果你使用步进器,并且你在步进之间移动,比如说你填写了一些表格,然后前后移动,你的组件将失去以前的状态,你的表格将被清空(因为它们是再次装载的(。
但是,如果使用display=none,则组件的状态是持久的,并且表单将使用以前的值填充。(显然,你可以用第一种方法实现同样的行为,但你需要付出一些努力,这将在以后为你节省一些时间(
我并不是说一个比另一个好,但在选择一个之前,你必须知道一些重要的考虑因素
(不要使用display=none,除非你有一些严重的css技巧(