Javascript 如何在导出的React组件中注释onChange事件?
我有一个带有Javascript 如何在导出的React组件中注释onChange事件?,javascript,reactjs,flowtype,Javascript,Reactjs,Flowtype,我有一个带有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 inp
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
从“React”导入React,{Component};
导出默认类MyList扩展组件{
handleChange=(事件)=>{
//使用event.target.value执行某些操作
//这将是输入字段中键入的值。
}
render(){
返回(
/>
);
}
}
Flow对此表示不满,因为它是一个导出类:
参数`event`缺少注释
如何在handleChange函数中注释事件
参数?据我所知,此事件是在JavaScript级别生成的,没有任何流类型
或者,可以将Flow配置为不显示这些“缺少注释”错误吗?您可以在此处找到打字
我找到了另一个解决方案,使用合成事件:类似于以下内容
onChange(事件:SyntheticInputEvent):void{
this.setState({text:event.target.value})
}
谢谢。最初我尝试了事件
,但它不起作用,但在更新到最新版本的flow(通过brew)并在我的.flowconfig
文件中的[options]
下添加esproposal.class\u instance\u fields=enable
后,我没有收到任何进一步的错误或警告。但是,现在我收到一条错误消息,无法找到属性值
。知道怎么解决吗event.target
将输入
标记作为JS对象返回。@RyanH。下面是一个使用flow 0.34的完整示例,您可以更具体地使用SyntheticInputEvent
handleChange = (event: Event) => {
if (event.target instanceof HTMLInputElement) {
console.log(event.target.value)
}
}