@KononovD

Что делать, если в componentDidMount мне надо зарендерить react-элемент в dom?

Здравствуйте, моя идея заключалась в следующем:
componentDidMount () {
    this.setControls();
  }

  setControls = () => {
    const gears = this.__box.querySelectorAll( '.inputRange__track > span' );

    gears.forEach( ( gear, index ) => {

      gear.addEventListener( 'mouseenter', () => this.setRedGear( gear ) );
      gear.addEventListener( 'mouseleave', () => this.setBlackGear( gear ) );
    } );
  }

  setRedGear = ( gear ) => {
    const item = gear.querySelector( '.inputRange__slider' );

    const svgIcon = <Svg src={ gear } />

    item.appendChild( svgIcon );
  }


хочу отрендерить в нужный мне див - `gear.querySelector( '.inputRange__slider' )`

этот див создается модулем react-input-range.
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
JSX код компонента и HTML-элементы это совершенно разные вещи. Так делать нельзя.

Ваша задача, по-хорошему, решается одним css правилом:
.my-svg-selector:hover {
  fill: red;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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