Как мне найти тип параметра функции, реализующей определенный интерфейс? - PullRequest
0 голосов
/ 27 февраля 2019

Например, у меня есть

<form onSubmit={this.handleSubmit}>   
</form>

Мне нужно реализовать функцию handdleSubmit.Поэтому я делаю

 handleSubmit(event:any) {
      this.setState({ password: event.target.value });
 }

Для типа параметра, который я не знаю, я всегда ставлю его.Есть ли способ найти тип передаваемого параметра вместо любого?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Вы можете определить тип типа события SyntheticEvent<HTMLFormElement> вместо any, тип Reactjs BaseSyntheticEvent был определен в @types/react/index.d.ts, если у вас хорошая IDE, ее легко найти (например: ctrl + click) и IDE автоматически предложит функцию или свойство, которые вы можете использовать с параметром event.

0 голосов
/ 27 февраля 2019

События Dom определены в lib.dom.d.ts , см. WindowEventMap, GlobalEventHandlersEventMap, WindowEventHandlersEventMap

interface GlobalEventHandlersEventMap {
    "abort": UIEvent;
    "animationcancel": AnimationEvent;
    .....
    "submit": Event;
    .....
    "waiting": Event;
    "wheel": WheelEvent;
}
...