何时显示console.log()项目结果,但是当我控制台日志数据状态时,它仅显示具有空项目数组的initialstate(data)
const [data, setdata] = useState({
projects: []
});
useEffect(() => {
const fetchData = async () => {
const res = await axios('http://localhost:5000/api/projects');
const projects = await res.data;
setdata({ projects: projects });
console.log(data);
};
fetchData();
}, []);
答案 0 :(得分:0)
data
尚未初始化,useEffect
在render
生命周期之后运行,因此这种日志记录毫无用处。
无论如何,都应该更新状态,只是您没有选中“状态是否已更新”。
const [data, setdata] = useState({
projects: []
});
useEffect(() => {
const fetchData = async () => {
const res = await axios('http://localhost:5000/api/projects');
const projects = await res.data;
setdata({ projects: projects });
// v Always results { projects: [] }
console.log(data);
};
fetchData();
}, []);
答案 1 :(得分:0)
axios('http://localhost:5000/api/projects')
.then(res => {
const projects = res.data
setdata({ projects: projects })
})