当用户浏览 SPA 应用程序时,React.js 实例化其组件的次数



标题说明了一切。我很好奇组件实例化在 React 中是如何工作的.js当涉及到 SPA 应用程序时。当用户导航到新的URL("页面")时,不再使用的组件会发生什么?如果用户在两个页面之间来回移动,不同的组件将被实例化多少次?当有许多不同的屏幕时,更大的应用程序呢?它们的所有组件都会以某种方式缓存吗?

如果你渲染了它,现在你不渲染,它就会被删除,GC 会收集。 请参阅WiredPrairie的链接,该链接解释了它的构成。

这适用于每个级别:

  • 路由器
    • 几乎总是有条件的存在,只有路线需要的东西
  • 选项卡、手风琴、下拉列表项等。
    • 在以下方面有所不同:
    • 能见度
    • 存在
    • 基于滚动位置的部分存在(最佳性能,最困难)
      • 查看"无限表"技术

这只是关于权衡;小树可以切换可见性,而大树应该切换存在。

最新更新