[英]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.