如何解决AXIOS:首次调用 API 返回默认状态
我正在向数据库发出 get 请求以获取一些数据。它总是首先返回默认状态(一个空对象)。然后它按预期获取数据。我该如何解决?
export default function useEventIdSearch(id) {
const [loading,setLoading] = useState(true)
const [error,setError] = useState(false)
const [event,setEvent] = useState({})
useEffect(() => {
setLoading(true)
setError(false)
let cancel
axios({
method: 'GET',url: `https://website.com/${id}?`,params: { api_key: 'dsfa' },cancelToken: new axios.CancelToken(c => cancel = c)
}).then(res => {
setEvent(res.data)
setLoading(false)
})
.catch(e => {
if (axios.isCancel(e)) return
setError(true)
})
return () => cancel()
},[id])
return { loading,error,event}
}
附言我是一个新手,所以我为我的问题道歉,因为我想这是我的一个错误并且与异步 JS 相关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。