【发布时间】:2017-12-03 20:27:02
【问题描述】:
为了流式事件,我定义了如下自定义类型:
export type OnScrollEvent = {
nativeEvent: {
contentOffset: {
y: number
},
contentSize: {
height: number
}
}
}
显然,有几个缺失的属性(如x 和width),但我还不需要它们。
我曾尝试为 RN 找到类似的类型,但只找到了一个似乎不是特别有用的 Event 类型:
import type {Event} from "react-native";
handleEvent = (e: Event) => console.log(e.inexistentProperty) // Flow doesn't care!
是否有任何现有的 React Native 事件流类型,还是我必须自己继续定义它们?
更新
它们似乎分散在代码库中。这是布局事件类型:
export type ViewLayout = {
x: number,
y: number,
width: number,
height: number,
}
export type ViewLayoutEvent = {
nativeEvent: {
layout: ViewLayout,
}
}
【问题讨论】:
-
是的,类型定义会很有用。我查看了源代码,但没有看到任何内容。似乎事件是在 Java 代码中定义的;例如,github.com/facebook/react-native/blob/master/ReactAndroid/src/…。贡献类型定义的地方是github.com/flowtype/flow-typed。如果您想花时间打包它们并提出拉取请求,我相信他们会欢迎您的自定义定义。
标签: javascript reactjs react-native flowtype