Задать вопрос
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 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@davidnum95
<Component>
  <Header/>
  <Wrapper>
    <Body/>
  </Wrapper>
</Component>

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

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

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