首页 > 解决方案 > 事件中的流类型细化

问题描述

好吧,我有一个从文本输入“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,因为[1]value中缺少属性。EventTarget

现在我怎样才能正确地改进这种类型?显然流不明白hasOwnProperty。有没有更好的办法?

标签: javascriptflowtyperefinement-type

解决方案


SyntheticInputEvent 泛型需要类型参数,您似乎错过了它。

smth,像这样应该让流程快乐:

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

推荐阅读