如果加载程序显示超过 6 秒,请刷新页面

Refresh page if loader shown for more than 6 seconds

我的 React 应用程序中有一个 Loading 组件,它只显示一个加载微调器。

每当我获取数据时,我都会使用它。如果加载组件显示超过 6 秒,我如何使页面重新加载?我将如何做到这一点:window.location.reload();

import React from 'react';

const Loading = () => (
    <div className="ui active dimmer">
        <div className="ui loader" />
    </div>
);

export default Loading;

我是这样使用的:

if(global.isFecthing) {
    return <Loading />;
}

把你的 fetch 初始化函数设置为 6 秒内的条件刷新应该足够了:

setTimeout(() => (if (global.isFetching) window.location.reload()), 6000)

设置超时是非阻塞的,因此它不会阻塞您的实际数据获取。超时将 运行 在它自己的线程中。