
Обертывание крючков
Итак, в своем предыдущем посте я рассказал о том, как создать хук из хуков.
Это было быстрое и полезное решение для того, что мне было нужно. Но это было не лучшее решение, поэтому я продолжал искать более простую и интуитивно понятную реализацию для объединения пакетов сторонних хуков с пользовательскими хуками моего проекта.
Цель состояла в том, чтобы импортировать хуки следующим образом:
import { useOnline, useNetwork } from "./lib";
без использования крючка, чтобы получить крючки в целом.
Решение, которое я нашел, состояло в том, чтобы удалить пользовательский хук useHooks, который я использовал ранее, и создать модуль, который собирает все хуки:
export * from "ahooks"; export * from "../hooks";
То, что вы видите здесь, довольно просто. Я экспортировал все содержимое пакета ahooks и все содержимое папок пользовательских хуков и использовал их как новый модуль с именем hooks .
Модуль экспортирует как пакет ahooks, так и папку пользовательских хуков и возвращает все хуки вместе как новый модуль.
Теперь я могу импортировать все хуки из одного модуля вместо того, чтобы импортировать разные пакеты в свое приложение, и у меня есть одно место для управления и контроля всех хуков моего приложения.
Вы можете увидеть полное рабочее решение на моем CodeSandBox.
Дайте мне знать, что вы думаете.
