ahooks 是由蚂蚁 umi 团队、淘系 ice 团队以及阿里体育团队共同建设的 React Hooks 工具库。ahooks 基于 React Hooks 的逻辑封装能力,提供了大量常见好用的 Hooks,能够极大下降代码复杂度,提高开发效率。
ahooks 致力成为和 antd/fusion 同样的 React 基础设施,帮助开发者在逻辑层面省去大量的重复工做。
react
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
随着 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
除了 Hooks 库,咱们也在准备 React Hooks 系列教程。不得不认可,虽然 React Hooks 很好用,但其中确实有有很多的明坑暗坑,咱们但愿经过系列教程,减小你们在使用 Hooks 时的困惑,避免走弯路。 antd
推荐以前的几篇文章,能够帮助你对 umi hooks/ahooks 有一个更深刻的认识:async
应该不少人想问,为何不直接用 react-use,而是要本身建设 React Hooks 库呢?ide