流错误:由于字符串[1] .Flow(InferError)中缺少属性,因此无法获取``

时间:2019-09-17 13:07:04

标签: javascript react-native flowtype

我正在使用一个平面列表,其中流程抱怨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)

1 个答案:

答案 0 :(得分:0)

感谢Alex,解决方案是将类型添加到Flatlist的data属性中,如下所示:

 <FlatList data={(data: Array<{ timeStamp: number, amount: number, dataType: string }>)}