performance - IE8 中的 React 渲染

标签 performance internet-explorer-8 reactjs rendering

我在 IE8 中使用 React Web 应用程序时遇到问题。在最新版本的 Chrome 和 FF 中性能良好。但是,您难道不知道吗,客户端运行 IE8,应用程序在该浏览器中加载 View 的速度非常慢,正常情况下加载时间为 4 秒。 我在 IE8 中使用 IE8 开发人员工具(IE8 在 VirtualBox VM 中运行)来分析该应用程序。 在生成的调用树中,两个代码区域平均各花费2 秒。 深入研究这些代码,我发现了 React 渲染方法,例如 mountComponent、mountChildren 和 createContentMarkup。这些调用有一个很长的树,连续的 MountComponent 调用占用的时间相对较少(100-300 毫秒)。

似乎添加到 View 的复合组件需要很长时间才能添加到 DOM,这对于 React 来说是令人惊讶的。

是否有人有相同情况的经验,我不确定如何继续,除了拆除添加的复合组件并测试问题所在

感谢您的建议

最佳答案

如果有人正在阅读本文,那么我得出的唯一答案就是简化您的组件。使用更少的嵌套组件,降低复杂性,仅在需要时使用 states 渲染内容,甚至用一个简单的按钮替换复杂的组件(嵌套列表),单击该按钮会显示嵌套列表(如果有意义的话)。 最重要的是,IE8 似乎确实无法处理大量的 React 更新/渲染/安装代码。因此,请简化您的 UI 设计,例如选项卡并非将所有信息集中在一个 View 中,并降低了组件的复杂性。

关于performance - IE8 中的 React 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32656362/

相关文章:

replication - DB4O 复制是否比 SQL Server 合并复制更快?

android - 将 36 MB JSON 文件写入 Realm 数据库时 UI 被阻塞,因此无法显示进度

performance - Spark 流吞吐量监控

html - IE8 优化问题(<div> 中的 float 元素,&lt;header&gt; 中的渐变...)

javascript - jQuery 插件的 IE8 问题

javascript - 当鼠标悬停在输入文本框上时显示一些文本

reactjs - 如何将 firebase 的 firestore/admin sdk 与 next.js 一起使用

performance - 'svn switch' 可以比 'rm -rf && svn checkout' 慢吗?

javascript - 将 material-ui 为子组件生成的样式放在为父组件生成的样式之后?

javascript - 更改 React 组件的 CSS 会影响所有其他页面