我对异步函数的工作方式感到困惑。
console.log 返回错误,因为 data.rates 尚不存在。但我认为因为 useEffect 函数是异步的,所以在异步结束后会调用它下面的任何东西。
function App() {
const [data, setData] = useState();
useEffect(() => {
(async () => {
const result = await axios.get(
"https://open.exchangerate-api.com/v6/latest"
);
setData(result.data);
})();
}, []);
console.log(data.rates); <-- Error data.rates does not exist
return <div>{!data ? "Loading..." : "Hello"}</div>;
}