@Hellas

Как при клике на элемент получить src и value дочерних элементов?

<li onClick={this.select}>
  <img src="/uploads/0.png"/>
  <span>Test</span>
</li>

Необходимо при клике на li получить значения /uploads/0.png и Test.
  • Вопрос задан
  • 577 просмотров
Решения вопроса 2
dpigo
@dpigo
Front-end developer
В обработчике события перебирайте любым удобным способом e.target.children, где e - параметр функции обработчика.
Ответ написан
Доставать что-то из ноды - это не совсем react-way (т.к. реакт инкапсулирует работу с DOM).

Сделайте отдельный компонент под это дело:

class ListItem extends React.PureComponent {
  handleClick = () => {
    const { src, label, onClick } = this.props

    return onClick(src, label)
  }

  render() {
    const { src, label, onClick } = this.props

    return (
      <li onClick={onClick && this.handleClick}>
        <img src={src} />
        <span>{label}</span>
      </li>
    )
  }
}


И передавайте в этот компонент нужные значения:

<ListItem src="/uploads/0.png" label="Test" onClick={this.select} />
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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