我在Typescript中构建类似
this React example的东西.目标是让父项具有状态,并创建几个无状态子组件,将其点击返回到父组件.
由于示例是在Javascript中,我不知道输入框事件和onChange处理程序的类型是什么……?我已经尝试了几个选项,如React.MouseEvent< HTMLInputElement>,但这只是猜测……
父组件
创建imageRows并传递处理程序:
render() { <div> <ImageRow key={el.url} onChange={this.onChange}/> </div> } // what should the type of e be? onChange(e:any){ }
和ImageRow组件
export interface ImageRowProps { genre: Array<number> url: string onChange : any // what is the type of the callback function? } export class ImageRow extends React.Component<ImageRowProps> { render() { return <div className="imagerow"> <input type="checkBox" key={index} onChange={this.props.onChange} defaultChecked={(num == 1)}/> </div> }
编辑
类似的问题只显示事件类型,而不是处理程序类型.当我更改事件类型时:
onChange(e: React.FormEvent<HTMLInputElement>){ console.log(e.target.value) }
我收到此错误:
Property 'value' does not exist on type 'EventTarget'.