Есть некоторые проблемы: когда вы щелкаете по элементу, происходит MouseEvent
, который может быть определен как React.MouseEvent
.теперь вы можете указать, что MouseEvent
произошло с каким элементом, с помощью React.MouseEvent<HTML***Element>
Теперь, когда ваш щелчок происходит по дочерней кнопке, event.target
содержит подпорки этого тега элемента.например, <button name="bla" id="bla" onClick={***} />
событие содержит name
, id
и, конечно, сам тэг.
Таким образом, общее событие нажатия похоже на
handleClick(event: React.MouseEvent<HTMLButtonElement>)
// Destructuring `target` from `even` and `name, id` from `target` will look like
handleClick({target:{name,id}}: React.MouseEvent<HTMLButtonElement>)
, поэтому ваш интерфейс должен выглядеть следующим образом
onChildClicked: ({target:{name,id}}: React.MouseEvent<HTMLButtonElement>) => void
Для получения информации о других типах событий (в частности, событиях мыши) проверьте объявление типа для React с помощью DefiniteTyped