Как в Реакте красиво модифицировать поведение одного компонента?

Друзья,

Вопрос на миллион. Я новичок в Реакте, пока не могу найти ответ.

Есть задача, например, повесить на ссылку условия и модификаторы. Скажем, должна быть доступна только при условии №1, синяя при условии №2, должна при клике вызывать какую-то валидацию, должна при клике отправлять данные в статистику.

Решить нужно без копирования кода и привязки к стилю в исходнике или шаблоне, эти кейсы должны быть кастомизируемые под каждый линк.

С JSX я бы написал так (криво, не решение):
<a class={ (blue ? 'blue' : '') + ' ' + (disabled ? 'disabled' : '')} onClick = {validate() && send() }>Ссылка</a>


Я хочу сделать так, чтобы переиспользовать:
<a blue={false} disabled={false} send-stat-on-click validate-on-click>Ссылка</a>


В ангуляре и Vue есть директивы, там всё красиво, а с реактом выходит какое-то месиво из компонентов и инлайн-логики. Не верю что всё так плохо у реакта.

Как вообще вы решаете такие задачи?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Dozalex
Senior Frontend Developer
Просто создаётся компонент ссылки, в него прокидываются нужные пропсы (disabled, onClick и прочие). Ну и в самом компоненте их используешь.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы