如何使用 React 创建一个简单的加载屏幕

2025-06-04

如何使用 React 创建一个简单的加载屏幕

几天前,我发了一篇文章,向大家展示了如何使用 Vue 创建加载屏幕。今天,我们将使用 React 来实现同样的效果!

正如我在上一篇文章中所说,加载屏幕总是受欢迎的,用户不想在页面加载时盯着空白屏幕。

我将向您展示如何操作的方法非常简单,但我们首先需要的是加载 GIF 或动画,这次我将使用Material-ui附带的那个(安装和使用非常简单,但如果您需要任何帮助请告诉我)

安装完成后,我们就可以开始了。就我而言,我需要使用 axios 从 API 中获取一些数据:

const [data, setData] = useState([])

useEffect(() => {
    axios
      .get("https://www.aRandomAPI.com")
      .then((response) => {
            setData((data: any) => [...data, req.data])
      })
      .catch(function (error) {
        ...
      })
  }, [])
Enter fullscreen mode Exit fullscreen mode

明白了吗?我们获取数据并将其赋值给一个变量。但是,如果数据量很大怎么办?如果用户的网速不够快怎么办?这就是为什么我们需要加载页面的原因。

首先我们导入之前讲过的循环进度:

import CircularProgress from '@material-ui/core/CircularProgress'

Enter fullscreen mode Exit fullscreen mode

然后,在返回时,在向用户显示任何内容之前,我们需要检查包含数据的数组是否已加载。一种方法是检查长度是否大于 0。

// App and App-header are classes that comes with "create-react-app"
  return (
    <div className="App">
    <header className="App-header">
       {data.length > 0 ?
           <div>
             Show your data here!
           </div>
         : <div>
             <p>Loading...</p> <CircularProgress /> 
           </div>      
       }
     </header>
   </div>
 );
Enter fullscreen mode Exit fullscreen mode

我们最终会得到这样的结果:

示例 gif

够简单吧?而且它适用于你需要显示的任何类型的数据,非常棒。我在我的第一个 React 应用中使用了这个方法,你可以看看。

无论如何,感谢您的阅读,希望您喜欢它!


更多信息请见:https://blog.daviddiazh.dev

查看我的第一个 React App:https://guessthesubredd.it

文章来源:https://dev.to/dd8888/how-to-create-a-simple-loading-screen-using-react-ph0
PREV
将 VS Code 设为您的默认 Git 编辑器 📝 将 VS Code 设为默认 Git 编辑器(全局) 将 VS Code 设为默认 Git 编辑器(本地仓库) 恢复为 GNU nano(或默认)
NEXT
创业:选择科技的五步框架 思想实验