【发布时间】:2017-04-20 14:48:04
【问题描述】:
这是来自 Google Adsense 应用程序页面的示例。在主页面之后显示的加载屏幕。
我不知道如何用 React 做同样的事情,因为如果我让 React 组件渲染加载屏幕,它不会在页面加载时显示,因为它必须等待 DOM 之前渲染。
更新:
我通过将屏幕加载器放入 index.html 并在 React componentDidMount() 生命周期方法中将其删除来举例说明我的方法。
【问题讨论】:
-
显示你想在纯 js 中显示的内容,然后在 react 挂载后将其隐藏或从 DOM 中删除。您需要做的就是将其从反应代码中隐藏起来。
-
这简直太棒了!谢谢。
-
同意这是一个很棒的方法。我已经发布了几个 react 应用程序,我将加载屏幕放在内(有效),但在第一次调用 ReactDOM 之间可能会有一个短暂的“白屏”。 render() 以及组件何时实际绘制。使用加载屏幕的固定定位,然后使用 CSS 的 componentDidUpdate(或 useEffect 钩子)淡化然后完全删除它是美妙的。它确保您不会移除加载屏幕,直到您的完全绘制的 React 组件已经在下面,可以查看了。
标签: reactjs asynchronous redux react-dom