28、优化 React 应用:TanStack Query 实现响应式缓存与测试

优化 React 应用:TanStack Query 实现响应式缓存与测试

1. 响应式缓存

在 React 应用中,与服务器通信以持久化和读取远程数据是常见操作。随着应用规模增大,管理数据缓存变得复杂。TanStack Query 这类库可简化远程数据处理,它能管理远程数据的本地副本,包括加载、刷新和失效处理。

响应式缓存是其核心特性之一,它能让数据层仅在必要时刷新数据,若缓存数据“足够新”,则直接从缓存提供数据。例如:

["things"],     
(oldThings) =>    
  oldThings.map((oldThing) =>     
    oldThing.id !== id     
      ? oldThing     
      : { id, name, count: done.length }    
  )
);
const doThing = useDoThing(onSuccess);

这种方法虽看似复杂,但能避免每次增量操作都进行完整的网络请求,长期来看可节省大量往返时间,减轻服务器压力,提升用户体验。

2. 乐观更新

乐观更新是另一种优化技术,它允许我们在发送数据突变请求时,假设服务器操作会按预期进行,临时更新本地缓存(可能只是部分更新)。当突变完成且服务器响应后,再将缓存更新为实际结果。

要实现乐观更新,需完成以下三个步骤:
- 发送突变请求到服务器时,同时按预期更新本地缓存。例如添加数据时,本地也添加相同数据;删除数据时,本地也

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值