Как в React достучаться к дата атрибутам?

Пытаюсь привязать дата атрибуты к кастомному компоненту, нее пробрасывая их внутрь этого компонента
https://stackblitz.com/edit/react-qrts92?file=index.js получаю пустой массив в onChange
Если вместо кастомного MyInput поставить обычный input - все работает
Можно ли как то привязать свои атрибуты к компоненту, чтобы достучаться до них через event.target ?

Делаю это чтобы избежать вот таких ивент хендлеров
https://stackblitz.com/edit/react-khcwbu?file=index.js
  • Вопрос задан
  • 2203 просмотра
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
const MyInput = props => {
  const { onChange } = this.props;
  const id = this.props['data-id'];
  const name = this.props['data-name'];
  
  return <input onChange={onChange} data-id={id} data-name={name} />;
};

либо:
const MyInput = ({ onChange, ...rest }) => <input onChange={onChange} {...rest} />;


В хандлере:
onChange = e => {
  const { id, name } = e.target.dataset;
  // do something with id and name
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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