react-query和SWR总结
react-query和SWR都是用来控制请求的库,是用来解决缓存,loading、error状态控制,乐观修改,报错重试等问题的,和axios不在一个层面
SWR是Next.js团队的
react-query是@tanStack的,先已更名 @tanStack/query,支持 React, Solid, Svelte, Vue多个框架
SWR是轻量级的控制库,轻巧易用,但是特性不广
react-query是重量级的控制库,特性丰富,可自定义性强,复杂场景案例多
两者的作用是一样的,缓存控制是最主要目标,选取哪个看项目需求。
react-query的staleTime和cacheTime概念
1. staleTime 保质期,控制是否发请求,保质期内不重新发请求,直接使用缓存数据
2. cacheTime 缓存期,控制数据缓存时间,超时则删除缓存。缓存没了,必然重新发请求。缓存有,在保质期内不发请求,保质期外,先使用缓存秒现,再发请求,完成后更新为新数据