Что принимает higher-order-components

Ответ

HOC принимает компонент и возвращает новый компонент с дополнительной логикой. Это функция, которая оборачивает другой компонент, добавляя ему новые props или поведение.

Пример:

const withLogger = (WrappedComponent) => {
  return (props) => {
    console.log('Rendering:', WrappedComponent.name);
    return <WrappedComponent {...props} />;
  };
};

const EnhancedComponent = withLogger(MyComponent);

Ключевые особенности:

  1. Принимает компонент как аргумент
  2. Возвращает новый компонент
  3. Не модифицирует исходный компонент
  4. Может добавлять/изменять props
  5. Часто используется для cross-cutting concerns (логирование, авторизация)