React-Query 使组件多次重新渲染

Nic*_*ick 5 reactjs react-query

当我更改页面状态以导致查询重新运行时,它会渲染组件 3 次,并且前 2 次是相同的。为什么会发生这种情况?

在此输入图像描述

{
    "status": "loading",
    "isLoading": true,
    "isSuccess": false,
    "isError": false,
    "isIdle": false,
    "dataUpdatedAt": 0,
    "error": null,
    "errorUpdatedAt": 0,
    "failureCount": 0,
    "isFetched": false,
    "isFetchedAfterMount": false,
    "isFetching": true,
    "isRefetching": false,
    "isLoadingError": false,
    "isPlaceholderData": false,
    "isPreviousData": false,
    "isRefetchError": false,
    "isStale": true
}   



function App() {
  const [page, setPage] = React.useState(1);
  const state = useQuery(["todos", page], fetchData);

  console.log(state);
  return (
    <>
      <button
        onClick={() => {
          setPage(page + 1);
        }}
      >
        Next
      </button>
    </>
  );
}
Run Code Online (Sandbox Code Playgroud)

TkD*_*odo 3

对我来说看起来像是一个错误;我已经提出了一个问题:

https://github.com/TanStack/query/issues/3772