我需要从我的应用程序的根目录传入窗口,并且我对我应该使用的流类型感到困惑。
我试过
export default class ListAttribute extends Component {
props: {
frameWindow: mixed
}
componentDidMount() {
this.props.frameWindow.addEventListener('click', this.closeList, false)
}
....
}
这给了我call of method addEventListener. Method cannot be called on mixed
,我试着改进,没有运气。
我试着看这里,但找不到任何东西给bom本身。 https://www.saltycrane.com/flow-type-cheat-sheet/latest/#lib/bom.js
答案 0 :(得分:4)
window
object。目前,看起来使用了any
的类型。
答案 1 :(得分:1)
您是否需要任何特定于window
的方法?如果您所做的只是对addEventListener
的一次调用,则可以在任何EventTarget
上调用,window
当然是。由于window
的默认类型为any
,因此您应该可以将其传递给EventTarget
。
这是一个更简单的例子,希望能够显示这个想法,而不会引入代码的所有细节:
function withWindow(window: EventTarget) {
window.addEventListener("click", (e: MouseEvent) => console.log(e), false);
}
withWindow(window); // type checks fine!
希望有所帮助!