I am trying to upgrade react query from v3 to v4. While doing so I am getting some problem. Following same code in v3 and v4 gives different output
const result = useQuery(["user-settings-key"], async () => {
const userSettings = await userSettingService.getUserSetting({"settingId": 120 });
return userSettings;
});
console.log(result);
console.log Output in v3 is as follows. This console.log is printed once
console.log
{
status: [Getter],
fetchStatus: [Getter],
isLoading: [Getter],
isSuccess: [Getter],
isError: [Getter],
isInitialLoading: [Getter],
data: [Getter],
dataUpdatedAt: [Getter],
error: [Getter],
errorUpdatedAt: [Getter],
failureCount: [Getter],
failureReason: [Getter],
errorUpdateCount: [Getter],
isFetched: [Getter],
isFetchedAfterMount: [Getter],
isFetching: [Getter],
isRefetching: [Getter],
isLoadingError: [Getter],
isPaused: [Getter],
isPlaceholderData: [Getter],
isPreviousData: [Getter],
isRefetchError: [Getter],
isStale: [Getter],
refetch: [Getter],
remove: [Getter]
}
console.log Output in v4 is as follows. This console.log is printed few times as status is changed
console.log
{
status: 'loading',
isLoading: true,
isSuccess: false,
isError: false,
isIdle: false,
data: undefined,
dataUpdatedAt: 0,
error: null,
errorUpdatedAt: 0,
failureCount: 0,
errorUpdateCount: 0,
isFetched: false,
isFetchedAfterMount: false,
isFetching: true,
isRefetching: false,
isLoadingError: false,
isPlaceholderData: false,
isPreviousData: false,
isRefetchError: false,
isStale: true,
refetch: [Function: bound refetch],
remove: [Function: bound remove]
}
2nd time
console.log
{
status: 'success',
isLoading: false,
isSuccess: true,
isError: false,
isIdle: false,
data: { some_vale: null },
dataUpdatedAt: 047138960,
error: null,
errorUpdatedAt: 0,
failureCount: 0,
errorUpdateCount: 0,
isFetched: true,
isFetchedAfterMount: true,
isFetching: false,
isRefetching: false,
isLoadingError: false,
isPlaceholderData: false,
isPreviousData: false,
isRefetchError: false,
isStale: true,
refetch: [Function: bound refetch],
remove: [Function: bound remove]
}
and it also prints in 5 times totally with success set to true.
What is happening is v4? I am new to react query so I am not able to figure it out.