Какой тип нужно указать для e.target.textContent? Свойство "textContent" не существует в типе "EventTarget"
Подскажите пожалуйста, какой тип нужно указать для textContent?
const handleOnClickLabel: React.MouseEventHandler<HTMLLabelElement> = (e) => {
setOption(e.target.textContent); // Свойство "textContent" не существует в типе "EventTarget".
setIsActive(false);
};
Ответы (2 шт):
Автор решения: nazarpunk
→ Ссылка
Доавьте проверку if (!(e.target instanceof HTMLElement)) return; чтоб ts правильно тип определил или напрямую тип задайте setOption((e.target as HTMLElement).textContent)
const handleOnClickLabel: React.MouseEventHandler<HTMLLabelElement> = (e) => {
if (!(e.target instanceof HTMLElement)) return;
setOption((e.target as HTMLElement).textContent);
setIsActive(false);
};
Автор решения: Oliver Patterson
→ Ссылка
Я думаю самый правильный вариант будет таким:
const handleOnClickLabel = (e: React.MouseEvent<HTMLLabelElement>) => {
setOption(e.target.textContent);
setIsActive(false);
};