簡體   English   中英

無法在回調內部調用React Hook“ useInterval”

[英]React Hook “useInterval” cannot be called inside a callback

我正在嘗試為可能需要一段時間才能完成的后端操作設置進度條。

  1. 用戶單擊按鈕以導出文件
  2. API響應具有后端流程的令牌
  3. 使用useInterval,我每隔半秒檢查進度%(使用另一個端點,發送令牌)以更新進度條組件

我簡化了Codesandbox中的代碼以重現此問題,在Codesandbox中,單擊按鈕時,我運行useInterval每隔4秒獲取一張新的隨機貓圖片並更新我的鈎子。

Codesandbox

據我了解,問題是因為我在自定義的Hook(useInterval)中調用了Hook,但是我不知道另一種方法,因為本機setInterval無法與Hook一起使用。

我使用了use-interval

您不必包裝useIntervaluseEffect 內部 useInterval調用useEffect可以正常工作。

您可以更改組件中傳遞給useInterval值,新值將正確應用。 您可以更改延遲或回調參數,並且useInterval將應用它們。

為了展示,我添加了停止按鈕,該按鈕停止檢索貓。

這是貓的工作解決方案 :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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