@exodus/swr

中文文档
2.3.7-exodus.7发布于 2026/08/15MITTypeScriptES Module近 30 天下载 1.5万

用于远程数据采集的 Hooks 库

中文使用文档
文档目录4 节
  1. 导言
  2. 快速启动
  3. 作者数
  4. 许可证

SWR


导言

SWR是一个用于数据取取的React Hooks库.

名称“水资源“来源于 stale-while-revalidate,一个缓存无效策略 HTTP RFC 5861 (韩语)。 。 。 . 水资源 先从缓存(stale)返回数据,再发送请求(重新验证),最后再次带入最新数据.

只要有一个钩子,就可以显著地简化项目中的数据获取逻辑. 它还涵盖速度、正确性和稳定性等各个方面,以帮助你积累更好的经验:

  • 快点, (中文(简体) ), 轻型 财务报告和审定财务报表 可重复使用 数据获取
  • 运输和协议不可知性
  • 内建 缓存 和请求复制
  • 实时 经历
  • 重定重点
  • 网络恢复的振兴
  • 投票
  • 缓冲和滚动位置恢复
  • 安保部门支助和特别支助组
  • 局部变异 (optimistic UI)
  • 内建的智能错误重试
  • 类型脚本
  • 反应悬浮
  • 原生反应

...还有更多.

随着SWR,组件会得到 数据流不断自动更新因此,UI将永远 快点 财务报告和审定财务报表 反应。 。 。 .


查看完整文档和示例 swr.vercel.app (英语)。 。 。 .


快速启动

import useSWR from 'swr'

function Profile() {
  const { data, error, isLoading } = useSWR('/api/user', fetcher)

  if (error) return <div>failed to load</div>
  if (isLoading) return <div>loading...</div>
  return <div>hello {data.name}!</div>
}

在这个例子中,反应钩 useSWR 接受一个 key (单位:千美元) fetcher 函数. 这个 key 是请求的唯一标识符,通常是API的URL。 还有 fetcher 接受 key 作为参数,并同步返回数据.

useSWR 返回 3 个值: data, (中文(简体) ), isLoading 财务报告和审定财务报表 error当请求(fetcher)尚未完成时, data 将会是 undefined 财务报告和审定财务报表 isLoading 将会是 true。当我们得到一个响应,它设定 data 财务报告和审定财务报表 error 基于结果 联 合 国 fetcher, (中文(简体) ), isLoading 以伪造和重报组件.

请注意: fetcher 可以是任何同步函数,也可以使用您最喜欢的数据比对 库来处理这部分.


查看完整文档和示例 swr.vercel.app (英语)。 。 。 .


作者数

这个库是由后面的团队创建的 下一个.js在社区的帮助下:

贡献者

多亏了陈瑞安 提供了精彩的 swr npm 软件包名称 !


许可证

麻省理工学院执照.

版本与发布记录

@exodus/swr 共发布 9 个版本,首次发布于 2025/11/05;过去 12 个月发布了 1 个版本。

版本发布日期距今
2.3.7-exodus.7latest2026/08/152 个月前
2.3.7-exodus.62025/11/051 年前
2.3.7-52025/11/051 年前
2.3.6-52025/11/051 年前
2.3.6-42025/11/051 年前
2.3.6-32025/11/051 年前

关于 @exodus/swr 的常见问题

@exodus/swr 是什么?

用于远程数据采集的 Hooks 库

如何安装 @exodus/swr?

在项目目录运行 npm install @exodus/swr,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@exodus/swr 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@exodus/swr 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@exodus/swr 可以商用吗?

@exodus/swr 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@exodus/swr 的下载量有多少?

根据 npm 官方下载统计,@exodus/swr 在 2026/10/14 – 2026/11/12 这 30 天内被下载 14,859 次,日均约 495 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@exodus/swr 还在维护吗?

最新版本 2.3.7-exodus.7 发布于 2026/08/15(2 个月前);至今共发布 9 个版本,其中过去 12 个月发布了 1 个;首次发布于 2025/11/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。