javascript - 当用户浏览 SPA 应用程序时,React.js 会实例化其组件多少次?

标签 javascript components reactjs single-page-application

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

最佳答案

如果您渲染了,而现在您不渲染被移除,GC 收集。参见 WiredPrairie 的 link这解释了的构成。

这适用于每个级别:

  • 路由器
    • 几乎总是有条件的存在,只有路由需要的东西
  • 标签、 Accordion 、下拉列表项等。
    • 介于:
    • 知名度
    • 存在
    • 基于滚动位置的部分存在(最佳性能,最困难)
      • 查看“无限表”技术

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

关于javascript - 当用户浏览 SPA 应用程序时,React.js 会实例化其组件多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29742201/

相关文章:

javascript - 为什么 Chrome 显示的听众数量比实际数量少?

JavaScript - putImageData 不会绘制每个图 block

javascript - Mongoose 如何填充引用文档

mobile - 使用 WiFi 代替 GPS 进行三角测量

javascript - 如何在 useEffect 中更新 useRef 变量的值

node.js - 加载插件导入失败 : 'eslint-plugin-import'

javascript - 相交对象不起作用

javascript - 将 HTML 文件加载到 Bootstrap Modal

javascript - 为 Angular 2 中的路由通用组件提供异步依赖关系。路由的解析等效项

Angular 5如何从组件测试中的下拉列表中获取选定的选项文本值