@custom-react-hooks/use-fetch

中文文档
2.0.3发布于 2025/09/13MITTypeScriptCommonJS零依赖近 30 天下载 3697

这个 useFetch 钩子是在React应用程序中制作API请求的强大工具. 它简化了从URL获取数据的过程,并处理各种高级功能,如缓存、超时和与全球国家管理系统的整合.

中文使用文档
文档目录12 节
  1. 安装
  2. 只安装当前钩
  3. 安装全部钩
  4. 导入虎克
  5. 特征
  6. 使用量
  7. API 参考
  8. 参数
  9. 回返
  10. 使用大小写
  11. 页:1
  12. 捐款

使用相接钩

这个 useFetch 钩子是在React应用程序中制作API请求的强大工具. 它简化了从URL获取数据的过程,并处理各种高级功能,如缓存、超时和与全球国家管理系统的整合.

安装

只安装当前钩

npm install @custom-react-hooks/use-fetch

或者说

yarn add @custom-react-hooks/use-fetch

安装全部钩

npm install @custom-react-hooks/all

或者说

yarn add @custom-react-hooks/all

当然 根据提供 useFetch 钩子,这里有一些详细的功能,您可以在文档中包含:

导入虎克

这个 useFetch 钩必须使用下列命名的导入方式导入:

已命名的导入 :

import { useFetch } from '@custom-react-hooks/use-fetch';

这种方法确保了钩子无缝地融入到您的项目中,在您如何使用我们的包时保持一致性和可预测性.

特征

  • 自动获取数据 : 钩子在组件上架后立即启动获取请求,使得它不费力地从API或服务器上加载数据. 这种行为可以控制在 manual 选项,用于更具体的使用.

  • 手动获取控制 : 为使用 fetchData 函数。 这对于需要根据用户互动或其他事件重排数据的情况特别有用.

  • 内置装入和出错状态 : 管理加载和出错在内部,根据API请求的状态简化了不同UI组件的渲染过程.

  • 可配置获取选项 : 扩展标准 fetch API选项,允许定制请求头,方法,正文等设置. 这使得它能够适应各种类型的API请求.

  • 超时支持 : 包括一个超时功能,允许指定最长时间等待响应. 这有助于处理服务器反应可能被延迟的情况.

  • 响应缓存 : 提供可选的缓存机制来存储和取回回复. 这减少了冗余的网络请求,优化了经常访问数据的性能.

  • 全球国家一体化: 允许通过提供可选的设置功能与全球国家管理系统相融合. 这对使用获取的数据更新Redux或上下文API等全球状态很有用 .

  • 自动清理 : 处理清理超时并中止正在进行的取取请求,以防止内存出漏和不必要的副作用,在动态和复杂的应用中尤其重要.

  • 处理错误 : 抓取过程中遇到的抓取和返回出错,为应用程序中强大的错误处理和用户反馈机制提供方便.

  • 灵活返回类型 : 钩子是通用的,使得它能够根据应用程序的需要,以任何格式(如JSON,文本)来返回数据.

  • 服务器- Side 渲染兼容性 : 设计用于服务器侧渲染环境,避免与缺失相关的错误 window 或浏览器特定的 API.

使用量

这是如何使用 useFetch 在组件中钩入 :

import { useFetch } from '@custom-react-hooks/all';

const FetchComponent = () => {
  const [url, setUrl] = useState('https://jsonplaceholder.typicode.com/users/1');
  const { data, loading, error, fetchData } = useFetch(url, { manual: true });

  const handleChange = (event) => {
    setUrl(event.target.value);
  };

  const handleFetch = () => {
    fetchData();
  };

  return (
    <div>
      <input
        type="text"
        value={url}
        onChange={handleChange}
      />
      <button
        onClick={handleFetch}
        disabled={loading}
      >
        Fetch Data
      </button>

      {loading && <p>Loading...</p>}
      {error && <p>Error: {error.message}</p>}
      {data && (
        <div>
          <p>Data:</p>
          <pre>{JSON.stringify(data, null, 2)}</pre>
        </div>
      )}
    </div>
  );
};

export default FetchComponent;

在这个例子中, useFetch 用于从 API 中装入数据。 组件显示数据、装入状态以及可能发生的任何错误。 提供了一个按钮来手动触发获取请求 .

API 参考

参数

  • url (字符串):从中获取数据的URL.
  • options (RequestInit & {手动?: 布尔, 超时? : 数字 }, 可选): 获取请求的配置选项 。 包括标准 fetch 选项与 manual 手动触发器和 timeout 请求暂停.
  • cache (地图 < 字符串, T > 无效, 可选) : 可选的缓存对象,用于存储和检索回复.
  • globalStateSetter ((数据: T- 无效) : 与全球国家管理系统整合的可选全球状态设置功能.

回返

包含:

  • data (T QQ 无效):从获取请求中获取的数据 .
  • loading (布尔): 请求的装入状态 .
  • error (错误 : 请求中遇到的任何错误 .
  • fetchData (()QQ承诺):一个手动触发取取请求的函数.

使用大小写

  • 数据获取:从API或服务器上装入数据,处理装入状态和出错.
  • 缓存反应:实施缓存策略来减少冗余的网络请求.
  • 全球国家最新情况: 以已获取的数据更新全局状态(如Redux或上下文 API).
  • 投票机制: 执行对服务器实时更新的投票.
  • 有条件的请求:根据用户动作或组件生命周期制作API请求.

页:1

  • 这个 useFetch 钩被设计得灵活,可以适应各种取取需要.
  • 请记住处理超时和中止控制器的清理,以避免内存出漏和组件出乎意料的行为.

捐款

为加强《公约》 useFetch 钩子是欢迎。 请随意向存储处提交问题或调取请求.

版本与发布记录

@custom-react-hooks/use-fetch 共发布 11 个版本,首次发布于 2023/12/02;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.3latest2025/09/131.2 年前
2.0.22025/09/131.2 年前
2.0.12025/09/131.2 年前
1.5.12024/08/182 年前
1.5.02024/08/182 年前
1.4.192023/12/092 年前

关于 @custom-react-hooks/use-fetch 的常见问题

@custom-react-hooks/use-fetch 是什么?

这个 useFetch 钩子是在React应用程序中制作API请求的强大工具. 它简化了从URL获取数据的过程,并处理各种高级功能,如缓存、超时和与全球国家管理系统的整合.

如何安装 @custom-react-hooks/use-fetch?

在项目目录运行 npm install @custom-react-hooks/use-fetch,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=16)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@custom-react-hooks/use-fetch 支持 TypeScript 吗?

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

@custom-react-hooks/use-fetch 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@custom-react-hooks/use-fetch 可以商用吗?

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

@custom-react-hooks/use-fetch 的下载量有多少?

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

@custom-react-hooks/use-fetch 还在维护吗?

最新版本 2.0.3 发布于 2025/09/13(1.2 年前);至今共发布 11 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/12/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。