【发布时间】:2019-09-18 22:46:26
【问题描述】:
我正在使用平面列表,其中流程抱怨 renderItem 属性中缺少项目对象成员的类型:
<FlatList
data={data}
ItemSeparatorComponent={() => <View style={styles.listSeperator} />}
renderItem={({ item }) => (
<WaterConsumptionListItem
timeStamp={item.timeStamp}
amount={item.amount}
datatype={item.dataType}
/>
)}
/>
但是我不知道如何对 item 的成员进行类型检查。我得到的完整错误是:
Cannot get `item.timeStamp` because property `timeStamp` is missing in `String` [1].Flow(InferError)
Cannot get `item.amount` because property `amount` is missing in `String` [1].Flow(InferError)
Cannot get `item.dataType` because property `dataType` is missing in `String` [1].Flow(InferError)
【问题讨论】:
-
我不知道流程,但看起来它是在推断该项目具有字符串类型。你能在匿名函数中明确地给项目一个类型吗?
-
这完全是我不知道的:)
-
你可以为这样的数据添加一个类型吗:
<FlatList data={(data: Array<{ timeStamp: number, amount: number, dataType: string }>)}? -
FlatList和item和data的类型是什么?这里没有足够的信息。
标签: javascript react-native flowtype