我正在使用一个平面列表,其中流程抱怨renderItem属性中缺少项目对象成员的类型:
<FlatList
data={data}
ItemSeparatorComponent={() => <View style={styles.listSeperator} />}
renderItem={({ item }) => (
<WaterConsumptionListItem
timeStamp={item.timeStamp}
amount={item.amount}
datatype={item.dataType}
/>
)}
/>
但是我不知道如何对项目成员进行类型检查。我得到的完整错误是:
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)
答案 0 :(得分:0)
感谢Alex,解决方案是将类型添加到Flatlist的data属性中,如下所示:
<FlatList data={(data: Array<{ timeStamp: number, amount: number, dataType: string }>)}