React.MouseEvent против React.MouseEvent в TypeScript? - PullRequest
1 голос
/ 03 августа 2020

Я добавил тип к событию щелчка привязки в React на основе ошибки TypeScript, которую я получил, когда он был нетипизирован:

onClick={(event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => {
  event.preventDefault();
}}

Я все равно не получаю ошибок, если go с этим короче версия:

onClick={(event: React.MouseEvent) => {
  event.preventDefault();
}}

Безопасна ли вторая версия без типов? От чего я отказываюсь в практическом смысле?

1 Ответ

1 голос
/ 03 августа 2020

Интерфейс MouseEvent:

interface MouseEvent<T = Element, E = NativeMouseEvent> extends UIEvent<T, E> {
 // ...
}

Вам не нужно передавать второй общий тип c. Таким образом, вы решите ошибку:

onClick={(event: React.MouseEvent<HTMLAnchorElement>) => {
  event.preventDefault();
}}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...