- tags:: 前端
核心思想点
构建中间层缓存
独特想法:: 将远端接口数据视作本地数据的一部分,统一归纳复杂事物以简化工程问题的复杂性
背景及简介
前端请求库,将后端数据想象为一个远端的数据获取方(前端只拉取所需的部分数据),前端统一通过 TanStack Query 来获取远端数据。接口数据一经获取,会认为数据短期内不会变化,所以将其缓存到前端本地,需要读取相同数据时,直接使用该缓存数据。
TanStack Query 通过 queryKey
的方式给这些缓存数据构建一个索引,用于检索缓存数据。而且支持缓存的增删改查操作。
功能
纯读取接口请求,使用 useQuery
hook ,且需要为接口数据设计一个唯一的 queryKey
结构。
如果涉及数据变更请求,需要使用 useMutation
hook。
这些 hook 返回对象中,包含很多内容,比如 useQuery
会返回 data
字段表示当前获取的缓存数据,useMutation
返回对象中有 mutate
函数用于触发副作用接口请求,也有一些表示请求状态的字段,如 isPending
mutation 也有类似 queryKey
的索引 muationKey
: What is mutationKey? · TanStack/query · Discussion #6093
和 queryKey
类似地 muationKey
用于唯一索引 useMutation
返回数据及请求状态信息。