react如何在useEffect中使用async
时间: 2024-05-17 16:13:31 浏览: 251
可以在 useEffect 中使用 async/await,但是需要将 useEffect 的回调函数声明为 async 函数。
例如,下面的代码演示了如何在 useEffect 中使用 async/await:
```javascript
import React, { useState, useEffect } from "react";
function App() {
const [data, setData] = useState(null);
useEffect(() => {
async function fetchData() {
const response = await fetch("https://api.example.com/data");
const data = await response.json();
setData(data);
}
fetchData();
}, []);
if (!data) {
return <div>Loading...</div>;
}
return <div>{data}</div>;
}
export default App;
```
在上面的例子中,我们创建了一个叫做 fetchData 的 async 函数,并在 useEffect 的回调函数中调用它。fetchData 函数使用 async/await 语法从远程 API 获取数据,并将结果存储在组件的 state 中。注意,我们在 useEffect 的第二个参数中传递了一个空数组,以避免 fetchData 在组件渲染期间重复调用。
阅读全文