标题说明了一切。当涉及到 SPA 应用程序时,我很好奇组件实例化在 React.js 中是如何工作的。当用户导航到一个新的 url(“页面”)时,不再使用的组件会发生什么?如果用户在两个页面之间来回移动,不同的组件将被实例化多少次?当有许多不同的屏幕时,更大的应用程序呢?它们的所有组件都将以某种方式缓存吗?
最佳答案
如果您渲染了它,而现在您不渲染它,它被移除,GC 收集它。参见 WiredPrairie 的 link这解释了它的构成。
这适用于每个级别:
- 路由器
- 几乎总是有条件的存在,只有路由需要的东西
- 标签、 Accordion 、下拉列表项等。
- 介于:
- 知名度
- 存在
- 基于滚动位置的部分存在(最佳性能,最困难)
- 查看“无限表”技术
这只是权衡;小树可以切换可见性,而大树应该切换存在。
关于javascript - 当用户浏览 SPA 应用程序时,React.js 会实例化其组件多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742201/