当我尝试使用use-http钩子从API获取数据时,我检查响应是否正常,即使数据正常,我也无法获得预期的结果。
const {
get,
response,
loading,
error
} = useFetch(getBooksUrl);
useEffect(() => {
get()
}, []);
useEffect(() => {
if(response.ok){
response
.json()
.then(val => console.log(val));
} else {
console.log(response);
}
}, [response]);最后,我总是会遇到else条件
我做错了什么?
发布于 2021-02-07 00:05:53
你需要await你的get()方法,因为它是异步的。因此,首先,当您的组件挂载时:
useEffect(() => {
(async () => {
await get();
})();
}, []);现在,在你的useEffect钩子中,response.ok应该是真实的。
https://stackoverflow.com/questions/66078867
复制相似问题