多是你见过最好的 React Hooks 库

ahooks 是由蚂蚁 umi 团队、淘系 ice 团队以及阿里体育团队共同建设的 React Hooks 工具库。ahooks 基于 React Hooks 的逻辑封装能力,提供了大量常见好用的 Hooks,能够极大下降代码复杂度,提高开发效率。
ahooks 致力成为和 antd/fusion 同样的 React 基础设施,帮助开发者在逻辑层面省去大量的重复工做。
react

ahooks 前身

ahooks 的前身是蚂蚁开源的 @umijs/hooks,能够说 ahooks 是 umi hooks 的 2.0 版本。
umi hooks 从 2019年9月 发布 v1.0 以后,一路前行,获得了很多用户的青睐。截至当前,umi hooks 在社区收获了 2.2k star,npm 周下载量最高 7000+,tnpm 周下载量 8000+。
同时在蚂蚁内部,umi hooks 也已经成为标准 React Hooks 库,截至当前,能统计到的项目中有 600+ 项目依赖了 umi hooks。而且 useRequest 也已经成为 umi3 内置请求方案
但 umi hooks 半年来的野蛮生长,也带来了一些反作用。git

  • 部分 Hooks 设计不合理,后期进行了部分 Hooks 合并,废弃了一些 Hooks。
  • 没有制定 API 标准,致使已有 Hooks 的 API 格式与命名不统一。

咱们但愿有个机会能完全解决这两个心病。 github

共建

随着 React Hooks 的发展,各个团队都开始尝试使用 Hooks 代替 Class,Hooks 正逐渐成为 React 组件的主流写法。得益于 Hooks 的逻辑封装能力,咱们能够将常见的逻辑封装起来,以减小代码复杂度。或者使用社区上别人封装的 Hooks,好比 react-use 等。
固然出于种种缘由,不少团队但愿建设本身的 Hooks 库。但在建设过程当中,能发现各个 Hooks 库提供的 Hooks 大同小异,尤为是基础类 Hooks 几乎都是同样的。
基于避免重复建设的目的,以及 umi hooks 的积累,咱们与集团 ice 团队,阿里体育团队一拍即合,决定基于 umi hooks 共同建设 React Hooks 工具库,ahooks 随即诞生。 npm

现状

通过一个半月的改造,ahooks 已经发布了 v1.0 版本,并开源在 github.com/alibaba/hoo… 仓库,你能够放心的在生产环境使用。
ahooks 相较于 umi hooks,有了本身的 API 规范,咱们基于这套规范,从新整理了全部 Hooks 的 API,你能够在这里找到升级详情。
在 ahooks 的开发过程当中,集团内也有其它不少部门参与进来,出谋划策,感谢你们。 api

规划

如前面所说,ahooks 致力成为向 antd/fusion 同样的 React 基础设施。为了达到这个目标,咱们正在全力开发更多的 Hooks,同时咱们也指望你们能将平常封装的 Hooks 贡献到 ahooks 中,一块儿来帮助 ahooks 成长。markdown

  • 你能够提交一个 RFC,咱们会帮你评估 Hooks 的必要性及 API 的规范。
  • 你也能够提交一个 idea,咱们帮你实现。

除了 Hooks 库,咱们也在准备 React Hooks 系列教程。不得不认可,虽然 React Hooks 很好用,但其中确实有有很多的明坑暗坑,咱们但愿经过系列教程,减小你们在使用 Hooks 时的困惑,避免走弯路。 antd

能够不用看的附录

  • 推荐以前的几篇文章,能够帮助你对 umi hooks/ahooks 有一个更深刻的认识:async

  • 应该不少人想问,为何不直接用 react-use,而是要本身建设 React Hooks 库呢?ide

    • 正如以前不少文章中说的,react-use 大版本升级太快了,实在跟不上。我第一次用的时候是 v9,上次写文章的时候是 v13,如今是 v15。若是大面积使用起来,升级起来太麻烦了。
    • 另一点就是 react-use 的 API 设计也是没有规范的,同类 Hooks 的 API 各类各样。
    • 固然不能否认的是,react-use 是社区最流行的 Hooks 库,为 ahooks 提供了不少灵感。
相关文章
相关标签/搜索