alex4answ
@alex4answ

Как разделить компонент по зонам ответственности без наследования?

Добрый день, есть 1 сложный компонент - работа с canvas.

Сейчас компонент это огромный комбайн, который отвечает за:
1. Отрисовка на canvas
2. Масштабирование и перерасчет canvas
3. Реализует интерфейс event emitter (подписка и диспатчинг событий)

Очевидно поддерживать этот жирный класс-компонент сложно.
Нужно разбить его на меньшие по зонам ответственности, как минимум на 3.

Обычно я бы разбил это классы и использовал наследование, но в реакт наследование не принято.

Ложку дегтя добавляет тот факт, что это ContextProvider (обертка над MyContext.Provider для управления содержимым контекста), это нужно для того, чтобы из любого дочернего компонента можно было управлять canvas, отрисовать, масштабировать, подписаться или задиспатчить событие

Подскажите пожалуйста, как грамотно все разделить, что с этим делать?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы