Reactjs 如何拥有一个加载屏幕,直到我的所有组件都安装在React中

Reactjs 如何拥有一个加载屏幕,直到我的所有组件都安装在React中,reactjs,Reactjs,我的react应用程序没有任何API调用,我希望在安装所有组件(包括所有子组件)时有一个加载页面。我的页面确实需要几秒钟才能加载 我遇到的问题是,我不想使用setTimeout,因为我的页面可以加载任何秒数。我只想显示一个加载屏幕,直到我的实际页面准备好显示。您可以在页面未准备好时设置加载程序。您只需设置如下状态: const[isReady,setIsReady]=React.useState(false) 然后你可以做: if(!isReady) { return <>Loa

我的react应用程序没有任何API调用,我希望在安装所有组件(包括所有子组件)时有一个加载页面。我的页面确实需要几秒钟才能加载


我遇到的问题是,我不想使用setTimeout,因为我的页面可以加载任何秒数。我只想显示一个加载屏幕,直到我的实际页面准备好显示。

您可以在页面未准备好时设置加载程序。您只需设置如下状态:

const[isReady,setIsReady]=React.useState(false)

然后你可以做:

if(!isReady) {
  return <>Loading...</>
}

return (
  <>
     {*/ your content here */}
  </>
);
if(!isReady){
返回加载。。。
}
返回(
{*/您的内容在这里*/}
);

当您将
isReady
设置为true时,组件将与页面内容一起重新加载。

您可以在页面未准备好时设置加载程序。您只需设置如下状态:

const[isReady,setIsReady]=React.useState(false)

然后你可以做:

if(!isReady) {
  return <>Loading...</>
}

return (
  <>
     {*/ your content here */}
  </>
);
if(!isReady){
返回加载。。。
}
返回(
{*/您的内容在这里*/}
);
当您将
isReady
设置为true时,您的组件将与页面内容重新关联。

尝试类似的事件(假设您正在讨论react hooks实现):-

尝试这样的事件(假设您正在讨论react钩子实现):-


只需在html文件的index.html中添加一个纯CSS加载程序

工作沙箱代码如下:

您可以在这里做一些有趣的事情,比如添加或删除类/元素,并做更多的事情来显示良好的预加载用户体验

在安装UI之前,只需显示一个静态加载程序 但要在挂载之前显示一些内容,只需在div中放置一些内容,即可将react树渲染到其中。一旦react完成渲染,该元素中的所有内容都将被替换

const rootElement = document.getElementById("root");
ReactDOM.render(<MyAwesomeComponentTree />,rootElement);

<body>
    <div id="root">
       <!-- Everything here will be replaced by React -->
    </div>
</body>
const rootElement=document.getElementById(“根”);
render(,rootElement);

只需在html文件的index.html中添加一个纯CSS加载程序

工作沙箱代码如下:

您可以在这里做一些有趣的事情,比如添加或删除类/元素,并做更多的事情来显示良好的预加载用户体验

在安装UI之前,只需显示一个静态加载程序 但要在挂载之前显示一些内容,只需在div中放置一些内容,即可将react树渲染到其中。一旦react完成渲染,该元素中的所有内容都将被替换

const rootElement = document.getElementById("root");
ReactDOM.render(<MyAwesomeComponentTree />,rootElement);

<body>
    <div id="root">
       <!-- Everything here will be replaced by React -->
    </div>
</body>
const rootElement=document.getElementById(“根”);
render(,rootElement);

ReactDOM.render(element, container[, callback])
const rootElement = document.getElementById("root");
ReactDOM.render(<MyAwesomeComponentTree />,rootElement);

<body>
    <div id="root">
       <!-- Everything here will be replaced by React -->
    </div>
</body>