【发布时间】:2021-03-19 14:19:22
【问题描述】:
有人可以解释我做错了什么吗? 我有一个反应功能组件,我使用 useEffect 挂钩从服务器获取一些数据并将该数据放入状态值。在获取数据后,我需要在同一 useHook 中使用该状态值,但由于某种原因该值是明确的。看看我的例子,控制台有一个空字符串,但在浏览器上我可以看到那个值。
import "./styles.css";
import React, { useEffect, useState } from "react";
const App = () => {
const [value, setValue] = useState("");
function fetchHello() {
return new Promise((resolve) => {
setTimeout(() => {
resolve("Hello World");
}, 1000);
});
}
const handleSetValue = async () => {
const hello = await fetchHello();
setValue(hello);
};
useEffect(() => {
const fetchData = async () => {
await handleSetValue();
console.log(value);
};
fetchData();
}, [value]);
return (
<div className="App">
<h1>{value}</h1>
</div>
);
};
export default App;
【问题讨论】:
-
OP 在 dep 数组中没有值
标签: reactjs use-effect