我有一个带有onChange
处理程序的React组件:
// @flow
import React, {Component} from 'react';
export default class MyList extends Component {
handleChange = (event) => {
// Do something with event.target.value
// which will be the value typed in the input field.
}
render() {
return (
<input type="text" onChange={this.handleChange}> />
);
}
}
和Flow抱怨这个,因为它是一个导出的类:
Parameter `event` missing annotation
如何在handleChange函数中注释event
参数?据我所知,此事件是在JavaScript级别生成的,没有任何Flow输入。
或者,可以将Flow配置为不显示这些“缺少注释”错误吗?
答案 0 :(得分:5)
我找到了另一个使用合成事件的解决方案:类似于以下内容
onChange (event: SyntheticInputEvent<EventTarget>): void {
this.setState({ text: event.target.value })
}
&#13;
答案 1 :(得分:4)
您可以在此处找到https://github.com/facebook/flow/blob/master/lib/dom.js
的类型handleChange = (event: Event) => {
if (event.target instanceof HTMLInputElement) {
console.log(event.target.value)
}
}