Задать вопрос
@Pumba8897

React. Как правильнее привязать событие к элементам выводимым в цикле?

При выводе элементов в компонент через цикл, необходимо повесить на каждый из них событие наведения мыши. Но при данной реализации событие срабатывает на всех элементах сразу.

Функция выполняемая при наведении:
SomeFunction () {
    this.setState=({
        hover: !this.state.hover
    })
}


Пример цикла:
const arr = data.map((item, id) => {
    <div key={id} onMouseEnter={() => this.SomeFunction()}>
          <span className='someClass'>{item.name}</span>
          <SomeComponent hover={this.state.hover}  data={item.data}/>
    </div>
})


Как сделать , чтобы событие срабатывало только для элемента на котором оно срабатывает а не на всех выведенных через цикл.
  • Вопрос задан
  • 1427 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
hzzzzl
@hzzzzl
ну так мы пишем hover: true в компонент родителя, и потом true становится для всех
<SomeComponent hover={this.state.hover}  data={item.data}/>


вынести это в отдельный компонент, у каждого из которых будет свой стейт?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽