Почему e.target выводит в консоль, а его атрибуты - пустые? React
Есть элемент меню и в нем несколько дочерних элементов. Задавал связанный вопрос тут. Сейчас код элемента такой:
import React from 'react'
import "./sidemenuItemLink.scss"
export default function SideMenuItem({ text_id, id, title }) {
<div key={id} id = {id} className="side__menu-item" data_to={text_id}>
<div className='menu__item-box'><p id={id} className='menu__item-text'>{title}</p></div>
</div>
)
}
Определить по какому элементу кликнули пытаюсь так:
const scrollTo = (el, offset = 0) => {
scroller.scrollTo(el, {
duration: 800,
delay: 0,
smooth: "easeInOutQuart",
offset: offset
})
}
const handleClick = (e) => {
e.persist();
const target = e.target
console.log(`clicked at ${target.data_to}`);
scrollTo(`text${target.data_to}`);
console.log(e.target)
}
...
return (
<div key={"side-menu"} className="side-menu" onClick={handleClick}>
{
SideMenuItems.map((dataItem) => { return (<SideMenuItem key={"sideMenu".concat(dataItem.id)} title={dataItem.title} text_id={dataItem.text_id} className="side__menu-item"></SideMenuItem>) })
}
</div>
)
Структура SideMenuItems такая:
const SideMenuItems = [
{
id: 1,
title: "title1",
text_id: "unic_text_scroll_to_1"
},
{
id: 2,
title: "title2",
text_id: "unic_text_scroll_to_2"
},
...
]
Теперь клик по дочернему элемену вызывает handleClick, но в консоли я вижу пустое место, когда пытаюсь вывести id или data_to пунктам меню, при этом сам e.target выводится "на ура":
В чем причина?
Источник: Stack Overflow на русском