【问题标题】:Prevent react query from refetching data upon user action when data is not updated当数据未更新时,防止响应查询在用户操作时重新获取数据
【发布时间】:2021-05-06 19:14:23
【问题描述】:

我在发出多个并行请求的 React 应用程序上使用 React 查询。每次我点击标签转到另一个应用程序或页面时,它都会删除所有仪表板并显示微调器。即使搜索栏中的关键字没有更改,它也会重新获取所有数据并再次发出所有请求,因此,让用户再等待几秒钟才能看到仪表板是没有用的。

【问题讨论】:

  • 默认情况下,react 查询总是显示陈旧数据(如果有的话)并同时进行后台重新获取。所以请显示一些代码,因为它必须像当 isFetching 为真时总是显示微调器一样
  • ``` ) : isLoading || isFetching 吗? ():isError? ( Error: {error.message} ) : (
    ```我应该去掉isFetching,只保留isLoading吗?
  • 好吧,如果 卸载所有数据并在每次请求正在进行时显示加载微调器,这就是 isFetching 正在做的事情,而你没有想要那个,那么是的,我建议删除它:)

标签: reactjs react-hooks react-query


【解决方案1】:

禁用重新获取焦点可能会对您有所帮助,但我会完全删除isFetching,只留下isLoading

const queryClient = new QueryClient({
   defaultOptions: {
     queries: {
       refetchOnWindowFocus: false,
     },
   },
 })

来源:https://react-query.tanstack.com/guides/window-focus-refetching

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2020-02-26
    • 2022-01-21
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多