尤雨溪都点赞的swr平替神器

尤雨溪都点赞的swr平替神器

前端开发中的数据获取,向来是让人又爱又恨的部分。而今天我要介绍的SWRV(发音:Swerve),绝对是数据获取的开挂神器。它不仅能让你轻松愉快地搞定数据请求,还能顺手帮你做缓存优化。别眨眼,继续往下看,这里有干货!

软件简介

SWRV 是一个基于 Vue Composition API 的远程数据获取库,专为 Vue 开发者打造。它采用了一种聪明的缓存策略——“Stale-while-revalidate”,啥意思呢?就是先给你看缓存数据(stale),后台再偷偷去请求最新的数据(revalidate),最后悄悄把最新数据替换掉。这样,用户体验飞起,不用等着菊花转转转!

最重要的是,SWRV 其实是 SWR 的 Vue 版本(老伙计们用 React 的可以去看看 SWR)。所以,如果你是 Vue 粉丝,SWRV 让你的数据获取体验更加顺滑。​​

291ea1f225ff69ffb831d409ee540c73.png

 

53d13f64958c3ffa3697873249fd567f.png

软件特点

SWRV 的特性足以让你高呼“真香!”。

9e44175bcd1296c086d22ff2f5d7f56c.png

  • • 协议无关:你可以用它去请求各种 API,无论是 HTTP 还是 GraphQL。

  • cd9036b82d202f7265ef06edc11e4387.png

  • • 页面秒切:配合缓存,页面跳转那叫一个飞快。

  • • 支持轮询:你可以设置定期轮询请求,保持数据最新。

  • • Vue 3 支持:想用 Vue 3?放心搞,完全兼容。

  • • 焦点重新验证:当用户切回页面时,数据会自动刷新。

  • • 请求去重:它聪明地帮你去掉重复的请求,节省带宽。

  • • 错误重试:遇到网络问题?别担心,SWRV 会自动重试。

除了这些,SWRV 还带了各种缓存自定义、错误处理和状态管理功能。如果你需要组件保持数据时刻更新,SWRV 是个理想的选择。

安装指南

你用的是哪种版本的 Vue,直接决定了你装哪个版本的 SWRV:

  • • Vue 3yarn add swrv

  • • Vue 2.7yarn add swrv@v2-latest

  • • Vue 2.6 及以下yarn add swrv@legacy

装好之后,只需要几个简单的步骤,就能让你的应用“起飞”!

使用示例

写个简单的例子让你快速上手。这个例子展示了如何用 useSWRV 在 Vue 组件中获取远程数据,并处理数据加载和错误状态:

<template>
  <div v-if="error">糟糕,加载失败了!</div>
  <div v-if="!data">加载中...</div>
  <div v-else>你好,{{ data.name }}!</div>
</template>

<script>
import useSWRV from 'swrv'
export default {
  setup() {
    const { data, error } = useSWRV('/api/user', fetcher)
    return { data, error }
  }
}
</script>

是不是简单又好用?useSWRV 接受一个唯一的请求 key 和一个 fetcher 函数,它会根据 key 去请求数据,然后返回 data 和 error。数据还没加载好时,data 是 undefined,加载完成后自动更新到 UI。

常见问题

1. SWRV 和 SWR 有什么不同?

SWRV 是 Vue 版本的 SWR,它利用了 Vue 的响应式系统,并返回 Vue 的 Ref。这让你可以轻松观察和管理数据变化。虽然最初它是 SWR 的一个移植版本,但随着时间的推移,两个项目在功能上已经有所不同。

2. 为什么 SWRV 会发送这么多请求?

SWRV 采用了“Stale-while-revalidate”策略,默认会尽量保证数据是最新的。如果你觉得它请求得太频繁,可以禁用某些特性,比如 revalidateOnFocus

3. 如何手动刷新数据?

很简单!SWRV 的 mutate 函数可以让你手动触发数据重新获取,这在处理 POST 或 PATCH 请求之后非常有用。

结语

SWRV 是一个轻量、强大的 Vue 数据获取库,它不仅让数据获取变得简单,还通过聪明的缓存策略优化了用户体验。如果你是一名 Vue 开发者,SWRV 绝对是你工具箱中的宝藏!

无论是复杂的请求逻辑,还是简单的数据展示,SWRV 都能轻松搞定。如果你还没用过,赶紧试试吧!

推荐阅读


欢迎关注我的公众号“前端新视野brizer”,原创技术文,开源好工具第一时间推送。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

布瑞泽的童话

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值