我们有一个 React Redux 应用程序,它需要长时间运行 ajax 才能显示其主要内容。
考虑显示一些项目列表的示例,获取该列表需要 1-2 秒。
目前我已经将 ajax 调用放在列表组件的 componentDidMount 中。但我可以看到调用在开始前需要大约 500-900 毫秒。这增加了后端延迟,并没有创造出非常有利的体验。
我们希望尽早触发 Ajax 调用。我想过在 index.js 或 public index.html 中触发我的 ajax,然后将结果存储在 componentDidMount 中的 window 变量中,我会阅读它,但我的解决方案对我来说听起来更像是 hack,有人可以推荐更好的东西吗?
最佳答案
您可以在组件的构造函数中进行调用。您还可以使用名为 componentWillMount
的生命周期方法。这两种方法都将在安装组件之前启动 ajax 调用。如果您安装的是大型组件,这可能是值得的。
另一方面,如果您的延迟仅来自下载和解析 javascript 代码,则很难优化。然后我建议检查服务器端渲染或代码拆分。但这些解决方案需要相当长的时间才能实现。
关于javascript - React App 长时间运行 ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48339231/