Обертывание крючков

Итак, в своем предыдущем посте я рассказал о том, как создать хук из хуков.

Это было быстрое и полезное решение для того, что мне было нужно. Но это было не лучшее решение, поэтому я продолжал искать более простую и интуитивно понятную реализацию для объединения пакетов сторонних хуков с пользовательскими хуками моего проекта.

Цель состояла в том, чтобы импортировать хуки следующим образом:

import { useOnline, useNetwork } from "./lib";

без использования крючка, чтобы получить крючки в целом.

Решение, которое я нашел, состояло в том, чтобы удалить пользовательский хук useHooks, который я использовал ранее, и создать модуль, который собирает все хуки:

export * from "ahooks";
export * from "../hooks";

То, что вы видите здесь, довольно просто. Я экспортировал все содержимое пакета ahooks и все содержимое папок пользовательских хуков и использовал их как новый модуль с именем hooks .

Модуль экспортирует как пакет ahooks, так и папку пользовательских хуков и возвращает все хуки вместе как новый модуль.

Теперь я могу импортировать все хуки из одного модуля вместо того, чтобы импортировать разные пакеты в свое приложение, и у меня есть одно место для управления и контроля всех хуков моего приложения.

Вы можете увидеть полное рабочее решение на моем CodeSandBox.

Дайте мне знать, что вы думаете.