Какой тип нужно указать для 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);
};
→ Ссылка