【问题标题】:React SPA - Show loading screen until multiple components are renderedReact SPA - 显示加载屏幕,直到呈现多个组件
【发布时间】:2016-12-01 13:19:59
【问题描述】:

为相对概念性的问题道歉。我正在尝试模拟页面首次加载时出现的整页 Heroku 加载屏幕,并在安装导航栏、图像、库和其他组件后消失:

我知道 Heroku 的底层堆栈是 Ember,但是有没有一种好的做法/方法可以使用 node.jswebpack、reactreact-routerexpress。它不是同构的,我希望所有渲染都在客户端上进行。

感谢您的帮助,如果有任何其他信息有助于理解我正在尝试做的事情,请告诉我。

【问题讨论】:

    标签: node.js express reactjs webpack react-router


    【解决方案1】:

    我还没有尝试过,但我想你可以简单地为你的“全页面加载屏幕”提供 HTML 作为页面附带的初始 HTML,然后简单地用你的 ReactDOM.render 调用替换它,这只会在处理完所有内容后进行处理。

    更具体地说,如果您将所有 JS 脚本标签放在页脚中,那么文档的其余部分将在脚本加载时加载和呈现,从而为您提供“加载屏幕”效果。它应该可以简单地将加载图形放在一个 div 中,然后用 React 渲染它。

    【讨论】:

    • 傻我,当然,这是最有意义的。非常感谢你!我在 HTML 中放置了一个小的 CSS 微调器,然后加载了 webpack 生成的所有反应脚本。
    • 实际上我遇到的另一件事是,出于某种原因,即使脚本放置在正文的底部,safari 也不会呈现页面内容。它显示地址栏进度指示器,并且直到所有内容都加载后才真正显示页面,从而使加载 html 的进度无用。知道是什么原因造成的吗?
    • 哦,也许可以尝试将async 添加到您的脚本标签中,看看它是否允许页面呈现。否则尝试寻找其他方法来确保您的脚本异步加载,可能像这样:css-tricks.com/thinking-async
    猜你喜欢
    • 2016-12-11
    • 1970-01-01
    • 2013-05-31
    • 1970-01-01
    • 2016-11-20
    • 2020-06-13
    • 2017-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多