Задать вопрос
pterodaktil
@pterodaktil
js developer

Как повесить обработчик события на часть дочернего компонента?

Есть компонент из готового toolkita (ant design). Появилась необходимость повесить эвент onWheel на этот компонент, который сам по себе не позволяет прокидывать внутрь этот эвент.
Условно, сам компонент
<Component>
  <Header/>
  <Body/>
</Component>

Соответственно, пишу враппер
class Wrapper tratatata {
  onWheel(e) {...}
  render() {
    return (
      <div onWheel={this.onWheel}>
        <Component />
      </div>
    )
  }
}

Соответственно, по эвенту колесика меняются пропсы, которые попадают в <Component />. Но проблема в том, что этот эвент вешается на мой враппер, а мне нужно повесить его только на <Body/> в <Component />. Ловить в onWheel таргет и через DOM проверять, под какой частью (под <Body /> или под <Header />) в момент срабатывания эвента находится мышь ну совсем бред, рефы я расставить не могу. Как быть?
Спасибо
  • Вопрос задан
  • 275 просмотров
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
@davidnum95
<Component>
  <Header/>
  <Wrapper>
    <Body/>
  </Wrapper>
</Component>

class Wrapper tratatata {
  onWheel(e) {...}
  render() {
    return (
      <div onWheel={this.onWheel}>
        {this.props.children}
      </div>
    )
  }
}
Ответ написан
Ваш ответ на вопрос

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

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