Уточнение типа потока в событиях - PullRequest
1 голос
/ 30 июня 2019

Ну, у меня есть событие, которое происходит "onchange" из текстового ввода.

Одним из очевидных полей, которые я хотел бы получить во время обработки события, является новое значение ввода.Простой пример показан ниже:

onChange = (event: SyntheticInputEvent<>) => {
    const target = event.currentTarget;
    const {something} = this.props;

    if (target && target.hasOwnProperty('value')) {
        something[fieldname] = target.value;
    }
};

Это, однако, душит поток: поток жалуется, что о:

Ошибка: (34, 47) Невозможно получить target.value, потому что свойство value отсутствует в EventTarget [1].

Теперь, как я могу правильно уточнить этот тип?Видимо, поток не понимает hasOwnProperty.Есть ли лучший способ?

1 Ответ

1 голос
/ 01 июля 2019

Для SyntheticInputEvent generic требуется аргумент типа, кажется, вы его пропустили.

Что-то, как это должно сделать поток счастливым:

const onChange = (event: SyntheticInputEvent<HTMLInputElement>) => {
    const target = event.currentTarget;
    console.log(target.value);
};
...