簡體   English   中英

如果重新獲取失敗並出現 404 錯誤,為什么 RTKQ 使用 *Query 返回緩存數據

[英]Why RTKQ use*Query returns cached data if refetch fails with 404 error

我正在使用 RTK Query 獲取一些數據

  1. 初始 GET 請求返回 200 OK 和一些數據
  2. 幾分鍾后服務器上的數據被刪除
  3. 我啟用了 refetchOnFocus,所以我的 GET 請求在一段時間內重復,現在它返回 404 錯誤
  4. 但是 use*Query 仍然返回緩存的數據(而不是 undefined 什么的)

我的組件基於這些數據——所以 UI 永遠不知道什么地方沒有更多數據。

那么,為什么 use*Query 不會清除收到 404 錯誤時的狀態?

在很多情況下,您實際上希望能夠在錯誤發生之前訪問最后的數據——例如並排顯示該數據和錯誤。 這就是為什么您的查詢結果具有isErrorisSuccess屬性,您不應在代碼中忽略這些屬性。

暫無
暫無

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

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