如何区分initialData和fetched data?

问题描述 投票:0回答:1

我有以下疑问:

export const useCurrentUser = () => {
  const enabled = !isGuestUser();

  return useQuery({
    queryKey: ['currentUser'],
    queryFn: () => getCurrentUser(),
    gcTime: Infinity,
    initialData: enabled
      ? (jwtDecode(localStorage.getItem('token') as string) as User)
      : ({} as User),
    enabled,
    refetchOnWindowFocus: false,
  });
};

初始数据取自 localStorage 并且非常有限 - 我想区分初始数据和后来获取的完整数据。如何做到这一点?

react-query state-management swr tanstackreact-query
1个回答
0
投票

来自文档:

重要提示:initialData 会持久保存到缓存中,因此不建议为此选项提供占位符、部分或不完整数据,而应使用 placeholderData

因此,您可能应该将初始数据替换为 placeholderData,然后您可以在

isPlaceholderData
结果中检查
isSuccess
useQuery
一起查看您所处的状态。

© www.soinside.com 2019 - 2024. All rights reserved.