[英]Hooks dependency API call if changes found React
如果發現更改,則掛鈎依賴 API 調用 React:
const [post, setPost] = useState({})
const [id, setId] = useState(1)
const [idFromButtonClick, setIdFromButtonClick] = useState(1)
const tick = () => {
axios
.get(`https://jsonplaceholder.typicode.com/posts/${id}`)
.then(res => {
console.log(res)
setPost(res.data)
})
.catch(err => {
console.log(err)
})
}
useEffect(() => {
const interval = setInterval(tick, 1000)
return () => {
clearInterval(interval)
}
}, [idFromButtonClick])
const handleClick = () => {
setIdFromButtonClick(id)
}
我在一秒鍾后調用 api,但我希望 api 只調用它,這有區別,我該怎么做,請指導
提前致謝
如果我理解正確,您希望延遲 1 秒調用 API
useEffect(() => {
setTimeout(
()=>{axios
.get(`https://jsonplaceholder.typicode.com/posts/${id}`)
.then(res => {
console.log(res)
setPost(res.data)
})
.catch(err => {
console.log(err)
})}
,1000)
}, [idFromButtonClick])
您不需要使用setInterval
只需在 setTimeout 內調用 API。 看看這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.