Js, React.js,Vue.js,css
Контакты
Местоположение
Россия

Наибольший вклад в теги

Все теги (9)

Лучшие ответы пользователя

Все ответы (3)
  • Как в React js менять класс по клику на иконку?

    polyak-y
    @polyak-y
    Js, React.js,Vue.js,css
    Смотри есть несколько способов:
    1) вешаешь клик на див, и меняешь состояние к примеру const [activeState, setActiveState] = useState(false); Клик будет менять activeState таким образом setActiveState(prev => !prev); То есть при каждом клике activeState будет либо true, либо false. Твой див будет выглядеть следующим образом
    <div className={`sidebar ${activeState ? 'active' : ''}`}>
    Не обязательно писать это внутри дива и не обязательно через тернарник, эту логику ты можешь вынести в отдельную функцию которая будет возвращать тебе классы по условию. Только смотри что каждая раскрывашка должна быть отдельным компонентом , чтобы у нее было свое состояние иначе все раскрывашки будут одновременно раскрываться))).
    2) event.target и event.currentTarget в реакте никто не отменял. Ты можешь через клик и event.currentTarget получить элемент по которому кликнул и ванильным js навесить класс.
    3) используй ref для доступа к дом https://reactjs.org/docs/refs-and-the-dom.html и также добавляй класс через обычные методы js
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (45)