为了对事件进行流式处理,我定义了如下自定义类型:
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,
}
}
发现于 ViewPropTypes.js
最佳答案
您需要扮演一点侦探 Angular 色(如您所见)。以下位置有一些事件类型。
从“react-native/Libraries/Types/CoreEventTypes”导入 {type ScrollEvent};
看起来文件夹是个不错的地方;
“react-native/Libraries/Types”
在任何其他情况下,跳转到源代码并从您尝试为其查找事件的组件开始。通常,找到类型非常简单,尽管很烦人。
关于javascript - 特定 React Native 事件的流类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44836944/