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 成長。antd
除了 Hooks 庫,咱們也在準備 React Hooks 系列教程。不得不認可,雖然 React Hooks 很好用,但其中確實有有很多的明坑暗坑,咱們但願經過系列教程,減小你們在使用 Hooks 時的困惑,避免走彎路。 async
推薦以前的幾篇文章,能夠幫助你對 umi hooks/ahooks 有一個更深刻的認識:ide
應該不少人想問,爲何不直接用 react-use,而是要本身建設 React Hooks 庫呢?工具