我在 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/