Реагировать на общий компонент или компонент как на атрибут

Здравствуйте, я пытаюсь создать общий «компонент», который переключает класс, думайте о нем как о вкладках, но мне не нужна фиксированная разметка для него, поэтому я подумал об использовании атрибутов для управления инициализацией.

Например, этот код должен быть инициализирован, щелчок по нему переключит класс .active на .target.

<button data-toggle = ".active" data-target = ".target">button</button>
<div class = "target"></div>

Проблема в том, что мне нужно инициализировать атрибуты данных с помощью componentDidMount () и componentDidUpdate (), но я не могу указать это для всех компонентов, возможно ли иметь глобальный componentDidMount () для всего приложения? или возможно ли присвоить атрибуту «общий компонент»? Как лучше всего продолжить?

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

РЕДАКТИРОВАТЬ

Я думал об использовании componentDidMount и componentDidUpdate в приложении основного компонента, так как эти методы, кажется, срабатывают после того, как все дети выполнили установку или обновление, там, возможно, я могу запросить атрибуты .. Еще больше впереди

РЕДАКТИРОВАТЬ2

Что ж, я думаю, что правильное решение - использовать компоненты реакции и внутри них инициализировать классы vanilla js, импортированные внутри компонента, это должно работать, я не знаю, почему я не думал об этом раньше

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
268
1

Ответы 1

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

Таким образом, вы можете передать компоненту общих обработчиков target и className для active. Он сделает всю работу, а внутренним компонентом будет пользовательский интерфейс. Это способ реагирования на атрибуты.

Другие вопросы по теме