Задать вопрос
Senbonzakuraa
@Senbonzakuraa
Начинаю начинать

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

Есть вот такой компонент:

export const ButtonRoom = (props) => {
        const [activeRoom, setActiveRoom] = useState(false)
        const setRoom = () => {
            setActiveRoom(!activeRoom)
        }
        return(
            <button onClick={()=>setRoom()} className={activeRoom ? "room__active button" : "button"}>
            </button>
        )
    }

На данный момент я могу присвоить/убрать класс по клику только у элемента на котором производится клик, а как убрать класс у другого экземпляра компонента?
  • Вопрос задан
  • 47 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Выше прокомментировал но по идее компонент с горы вообще не должен этого делать. Либо он отсылает сообщение родителю а уж он рулит либо общий стайт для приложения либо шина событий
Ответ написан
Комментировать
@tdtdtd
Если компонент, класс которого должен меняться находиться гораздо выше, чем компонент, который должен инициализировать изменение класса, то тут либо прокидывать по цепочке пропсы, либо использовать контекст, либо прикручивать какие-то хранилища аля redux.
Но React.createContext вероятно то, что вам нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽