我在IE8中遇到了React webapp的问题。在最新版本的Chrome和FF中,性能很好。但是,你不知道吗,客户端运行IE8并且应用程序在这个浏览器中加载视图非常缓慢,加载时间为4秒正常。 我在IE8中使用IE8 Developer工具(在VirtualBox VM中运行的IE8)中分析应用程序。 在生成的调用树中,两个代码区域平均每个 2秒。 深入研究这些代码,我找到了React渲染方法,例如mountComponent,mountChildren和createContentMarkup。这些调用有一个很长的长树,并且连续的MountComponent调用占用了相对较少的时间(100-300 ms)。
似乎添加到视图中的复合组件需要花费很长时间才能添加到DOM中,这对于React来说是令人惊讶的。
有没有人有相同情况的经验,我不确定如何继续,除了拆除添加的复合组件并测试问题所在
感谢您的任何建议
答案 0 :(得分:0)
如果有人在读这篇文章,那么我唯一的答案是简化你的组件。使用较少嵌套的组件,降低复杂性,仅在需要时使用状态渲染内容,甚至用简单的按钮替换复杂组件(嵌套列表),单击该按钮时显示嵌套列表(如果有意义)。 大多数IE8似乎都无法处理大量的React更新/渲染/安装代码。从而简化您的UI设计,例如标签不是一个视图中的所有信息,并降低了组件的复杂性。
答案 1 :(得分:0)
您也可以尝试使用服务器端渲染。如果在服务器上呈现组件,则用户
将不太明显加载时间