const onToggleExpand = (e: React.MouseEvent<HTMLDivElement>) => { debugger; const id = e.target.dataset['id']; Property 'dataset' does not exist on type 'EventTarget'.
currentTarget
мне не нужен карент в обработчике
у e.target тип Element у e.currentTarget тип Element & HTMLDivElement у Element нет dataset у HTMLDivElement есть dataset
тебе нужен dataset, значит тебе нужен currentTarget
не нужен
тогда кастуй (e.target as HTMLDivElement).dataset
Когда надоело отвечать на тупые вопросы))
не все такие умные как ты, ебать
не, вопрос-то не тупой. там на самом деле ничего не поделаешь, если target и currentTarget отличаются, то нет способа определить, каким типом надо расширять target currentTarget всегда указывает на тот самый элемент, на котором определён обработчик. target может указывать на него или на КАКОГО-ТО из детей. и не у каждого ребёнка может быть dataset и единственное, что можно сделать — это каст. хотя, с явным кастом я погорячился. @popuguy, я бы посоветовал typeguard
Ну как понять все равно «там будет другой элемент» ))) Как он там будет и почему )
и правда, не матерись
ух
простенький тайп-гард
Покажи где вешаешь обработчик
Обсуждают сегодня