# @exodus/swr 中文文档

规范地址：https://npmcn.com/package/%40exodus/swr/

版本：2\.3\.7-exodus\.7
npm 元数据更新时间：2026-10-06T21:04:03.302Z
中文译文更新时间：2026-11-14T04:00:23.371Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40exodus/swr
原文对照：https://npmcn.com/package/%40exodus/swr/?lang=original
项目主页：https://swr.vercel.app/
源码仓库：https://github.com/ExodusMovement/swr

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：131 kB，29 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：react ^16\.11\.0 \|\| ^17\.0\.0 \|\| ^18\.0\.0 \|\| ^19\.0\.0，@types/react \*
- 首次发布：2025-11-05T08:56:07.513Z
- 最新版本发布：2026-08-15T13:45:47.605Z
- 近 30 天下载量：14859（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 1 个）

## 中文简介

用于远程数据采集的 Hooks 库

## 安装

```sh
npm install @exodus/swr
```

也可以使用：`pnpm add @exodus/swr`、`yarn add @exodus/swr`、`bun add @exodus/swr`

## README

[![SWR](https://assets.vercel.com/image/upload/v1572289618/swr/banner.png)](https://swr.vercel.app/)

[![](https://badgen.net/badge/icon/Made%20by%20Vercel?icon=zeit&label&color=black&labelColor=black)](https://vercel.com/)  
 [![](https://badgen.net/npm/v/swr)](https://www.npmjs.com/package/swr)[![](https://badgen.net/bundlephobia/minzip/swr) ](https://bundlephobia.com/result?p=swr)[![](https://badgen.net/npm/license/swr)](https://github.com/vercel/swr/blob/main/LICENSE)

## 导言

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

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

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

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

...还有更多.

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

* * *

**查看完整文档和示例 [swr.vercel.app (英语)](https://swr.vercel.app/)。 。 。 .**

  

## 快速启动

```js
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 (英语)](https://swr.vercel.app/)。 。 。 .**

  

## 作者数

这个库是由后面的团队创建的 [下一个.js](https://nextjs.org/)在社区的帮助下:

-   舒鼎 (编)[@ shuding (英语)](https://x.com/shuding_)) - (英语) [维塞尔](https://vercel.com/)
-   刘家achi([@huozhi:我无法想象](https://x.com/huozhi)) - (英语) [维塞尔](https://vercel.com/)
-   吉列尔莫·劳克(签名)[@rauchg (英语)](https://x.com/rauchg)) - (英语) [维塞尔](https://vercel.com/)
-   乔·哈达德(英语:[@timer150 (英语)](https://x.com/timer150)) - (英语) [维塞尔](https://vercel.com/)
-   帕科·科莱特(Paco Coursey) (英语:[@pacocourey (英语)](https://x.com/pacocoursey)) - (英语) [维塞尔](https://vercel.com/)

[贡献者](https://github.com/vercel/swr/graphs/contributors)

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

  

## 许可证

麻省理工学院执照.

## 常见问题

### @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 和提交记录判断。

