注释参考回调

时间:2016-08-06 02:08:36

标签: flowtype

将ref的回调注释为HTMLElement是最好的方法吗?我假设99%的时间是这个类型,不是吗?

https://facebook.github.io/react/docs/more-about-refs.html

https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-string-refs.md

<input type="text" ref={(ref: HTMLElement) => this.myTextInput = ref} />

1 个答案:

答案 0 :(得分:3)

目前,Flow并不特别了解ref属性,并允许您将ref属性设置为任何内容。我无法找到跟踪此问题的GitHub问题so I opened one

就Flow而言,它所关心的只是你传递给ref参数类型检查的表达式。所以它可以让你写

<Foo ref={123} />

但不是

<Foo ref={"boom" * 10} />

我不是React refs的专家,但是,它确实听起来像input元素将传递HTMLInputElement,这是HTMLElement的子类型。因此,使用HTMLElementHTMLInputElement应该表达您的意图。