核心思想点

构建中间层缓存

独特想法:: 将远端接口数据视作本地数据的一部分,统一归纳复杂事物以简化工程问题的复杂性

背景及简介

前端请求库,将后端数据想象为一个远端的数据获取方(前端只拉取所需的部分数据),前端统一通过 TanStack Query 来获取远端数据。接口数据一经获取,会认为数据短期内不会变化,所以将其缓存到前端本地,需要读取相同数据时,直接使用该缓存数据。

TanStack Query 通过 queryKey 的方式给这些缓存数据构建一个索引,用于检索缓存数据。而且支持缓存的增删改查操作。

功能

纯读取接口请求,使用 useQuery hook ,且需要为接口数据设计一个唯一的 queryKey 结构。

如果涉及数据变更请求,需要使用 useMutation hook。

这些 hook 返回对象中,包含很多内容,比如 useQuery 会返回 data 字段表示当前获取的缓存数据,useMutation 返回对象中有 mutate 函数用于触发副作用接口请求,也有一些表示请求状态的字段,如 isPending

mutation 也有类似 queryKey 的索引 muationKeyWhat is mutationKey? · TanStack/query · Discussion #6093

queryKey 类似地 muationKey 用于唯一索引 useMutation 返回数据及请求状态信息。