簡體   English   中英

如果發現更改,則掛鈎依賴 API 調用 React

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM