【发布时间】:2021-02-08 08:56:41
【问题描述】:
我想从 API 服务器获取数据。
const [datas, setDatas]=useState({
datas: []
});
useEffect(()=> {
apiClient.post(url) // apiClient is axios.create function
.then((response)=>
setData(datas: response.data.response))
},[])
但是console.log(data) 返回undefined。但是,如果修复部分代码或做其他事情,它会得到正确的值。
所以我删除了useEffect的deps。然后我陷入了API调用循环。我找到的解决方案之一是将 useState 的初始值放入一个空数组中。但是,即使您将其放入一个空数组中,该值也会以 undefined 的形式返回。
调用服务器没有问题。 console.log(response) 返回一个有效的响应值。
如果您能告诉我解决方案,我将不胜感激。
【问题讨论】:
-
您的回复是什么样的?它有一个名为“response”的键吗?
-
抱歉调用错误已更正。数据类型为json
-
键名为“response”
-
您的代码在语法上无效,不会运行