ahooksЭто библиотека инструментов React Hooks, созданная совместно командой Ant umi, ледовой командой Департамента Тао и командой Ali Sports. Основываясь на возможностях логической инкапсуляции React Hooks, ahooks предоставляет большое количество распространенных и полезных хуков, которые могут значительно снизить сложность кода и повысить эффективность разработки.
ahooks стремится быть той же инфраструктурой React, что и antd/fusion, помогая разработчикам сэкономить много повторяющейся работы на логическом уровне.
предшественник
Предшественник ahooks был открыт компанией Ant.@umijs/hooks, можно сказать, что ahooks — это версия 2.0 umi hooks.
С момента выпуска версии 1.0 в сентябре 2019 года umi hooks продвигается вперед и завоевала расположение многих пользователей. На данный момент umi hooks получил 2,2 тысячи звезд в сообществе, еженедельные загрузки npm составляют до 7000+, еженедельные загрузки tnpm - 8000+.
В то же время в Ant umi-хуки также стали стандартной библиотекой React Hooks.На данный момент более 600+ проектов, которые можно насчитать, зависят от umi-хуков. а такжеuseRequestтоже стал umi3Встроенная схема запроса.
Но дикий рост крючков уми за последние шесть месяцев также принес некоторые побочные эффекты.
- Некоторые хуки были спроектированы необоснованно, некоторые хуки были объединены позже, а некоторые хуки были заброшены.
- Отсутствует стандарт API, что приводит к несогласованности формата API и именования существующих хуков.
Мы надеемся, что у нас есть шанс полностью решить эти две проблемы с сердцем.
Стройте вместе
С развитием React Hooks различные команды начали пытаться использовать Hooks вместо Class, и Hooks постепенно становятся основным методом написания компонентов React. Благодаря возможности хуков инкапсулировать логику, мы можем инкапсулировать общую логику, чтобы уменьшить сложность кода. Или используйте хуки, созданные другими участниками сообщества, напримерreact-useЖдать.
Конечно, по разным причинам многие команды хотят создать собственную библиотеку хуков. Однако в процессе построения можно обнаружить, что хуки, предоставляемые каждой библиотекой хуков, похожи, особенно базовые хуки почти одинаковы.
Чтобы избежать повторного построения и накопления хуков umi, мы нашли общий язык с ледовой командой группы и спортивной командой Ali и решили совместно создать библиотеку инструментов React Hooks на основе хуков umi, и так родился ahoos. немедленно.
статус-кво
После полутора месяцев обновлений, ahooks выпустил версию v1.0 с открытым исходным кодом вGitHub.com/Alibaba/Ооооооооо…Warehouse, вы можете уверенно использовать его в производственной среде.
По сравнению с крючками umi, у ahooks есть свои особенности.Спецификация API, мы реорганизовали все API-интерфейсы Hooks на основе этого набора спецификаций, вы можете найти их вздесьНайдите сведения об обновлении.
В процессе разработки ahooks также участвовали и вносили предложения многие другие отделы группы.
планирование
Как упоминалось ранее, ahooks стремится стать той же инфраструктурой React, что и antd/fusion. Чтобы достичь этой цели, мы прилагаем все усилия, чтобы разработать больше крючков, и мы также надеемся, что каждый может ежедневно добавлять упакованные крючки в ahooks, чтобы помочь ahooks расти вместе.
- Вы можете отправить RFC, и мы поможем вам оценить потребность в хуках и спецификацию API.
- Вы также можете подать идею, и мы поможем вам ее реализовать.
В дополнение к библиотеке Hooks мы также готовим серию руководств по React Hooks. Я должен признать, что, хотя React Hooks очень прост в использовании, в них действительно много ям и ям.Мы надеемся, что с помощью серии руководств мы сможем уменьшить путаницу при использовании хуков и избежать обходных путей.
Дополнение, которое вы можете пропустить
-
Порекомендуйте предыдущие статьи, которые помогут вам глубже понять хуки/хуки umi:
-
Многие люди должны спросить, почему бы не использовать react-use напрямую, а создать библиотеку React Hooks самостоятельно?
- Как упоминалось во многих предыдущих статьях, большая версия react-use обновляется слишком быстро и не поспевает за ней. В первый раз, когда я использовал его, была версия 9, в последний раз, когда я писал статью, была версия 13, а теперь это версия 15. Если он используется на большой площади, его слишком хлопотно модернизировать.
- Еще один момент заключается в том, что API-дизайн реактивного использования не стандартизирован, а API-интерфейсы подобных хуков различны.
- Конечно, нельзя отрицать, что react-use — самая популярная библиотека Hooks в сообществе, дающая много вдохновения для ahooks.