Comments 6
overengineering
GC не вешается от такого "эффективного процесса"?
Выглядит как лишняя обёртка. При необходимости лучше сделать модуль типа arrayUtils.ts, в который вынести пару-тройку замороченных функций обработки массивов. Которые учитывают бизнес-специфику задач.
А пуш-ремув-фильтр можно as is по месту писать.
P.S. "по-новому" пишется через дефис, не пробел.
Уж если выносите логику в кастомный хук, то настоятельно рекомендую оборачивать колбэки в useCallback, так как при вызове, например, в useEffect, увижу красивую надпись в консоли "maximum update depth exceeded"
Колбэки, возвращаемые из хуков, должны иметь стабильную ссылку - а не как здесь
в целом тоже согласен что overengineering и плюс нет типизации проверки на то что default value действительно массив , то есть если я передам что-то отличное от массива , все сломается
Работа с массивами по-новому. React Custom Hook: useArray