【发布时间】:2020-12-18 09:46:23
【问题描述】:
我有一个“帖子”类型如下:
interface Post {
id?: string
title: string
content: string
tags?: string[]
}
我需要在需要 id 的 React Native flatlist 中使用它。在这种情况下,会获取 id。
<FlatList
data={posts as Array<Partial<Post>>}
renderItem={({ item }: { item: Partial<Post> }) => <ContentListItem post={item} />}
keyExtractor={(item: Partial<Post>) => item.id}
ListHeaderComponent={ListHeaderComponent}
/>
有keyExtractor下划线:
Type '(item: Partial<Post>) => string | undefined' is not assignable to type '(item: Partial<Post>, index: number) => string'.
我尝试将 keyExtractor={(item: Partial) => item.id} 更改为:
keyExtractor={(item: {id: string} & Partial<Post>) => item.id}
有数据下划线:
Type 'Partial<Post>[]' is not assignable to type 'readonly ({ id: string; } & Partial<Post>)[]'.
有没有一个优雅的解决方案?
谢谢
【问题讨论】:
标签: typescript react-native typescript-typings react-native-flatlist typescript-partial