ScrollView 대신에 FlatList 사용하기!
return (
<ScrollView
showsVerticalScrollIndicator={false}
// contentContainerStyle={{ paddingBottom: bottomSpace }}
>
{props.data.map((item, index) => (
// key는 최상단에!
<View key={index}>
<Profile
uri={item.uri}
name={item.name}
introduction={item.introduction}
/>
<Margin height={13} />
</View>
))}
</ScrollView>
);
이 부분을 FlatList를 사용해 구현하는데 FlatList에서는 keyExtractor로 키를 지정할 수 있다.
그래서 ↓ 다음과 같이 작성했는데 keyExtractor부분에 에러가 발생함..
return (
<View style={styles.container}>
<FlatList
data={friendProfiles}
keyExtractor={(_, index) => index}
ItemSeparatorComponent={ItemSeparatorComponent}
renderItem={renderItem}
/>
</View>
);
이 호출과 일치하는 오버로드가 없습니다.
오버로드 1/2('(props: FlatListProps<{ uri: string; name: string; introduction: string; }>): FlatList<{ uri: string; name: string; introduction: string; }>')에서 다음 오류가 발생했습니다.
'(_: { uri: string; name: string; introduction: string; }, index: number) => number' 형식은 '(item: { uri: string; name: string; introduction: string; }, index: number) => string' 형식에 할당할 수 없습니다.
'number' 형식은 'string' 형식에 할당할 수 없습니다.
오버로드 2/2('(props: FlatListProps<{ uri: string; name: string; introduction: string; }>, context: any): FlatList<{ uri: string; name: string; introduction: string; }>')에서 다음 오류가 발생했습니다.
'(_: { uri: string; name: string; introduction: string; }, index: number) => number' 형식은 '(item: { uri: string; name: string; introduction: string; }, index:
keyExtractor는 string 형식으로 받아야하는데 index는 숫자이기 때문에 number 형식은 string에 할당 할 수 없다고 뜬다.
keyExtractor={(_, index) => index.toString()}
그래서 index에 toString()을 사용해 문자열로 바꿔주니 에러가 사라졌다!
'동글동글' 카테고리의 다른 글
[파이널 프로젝트] 개발 일지-1 (0) | 2024.11.05 |
---|---|
안드로이드 에뮬레이터 expo 연결 (1) | 2024.11.01 |
트러블 (0) | 2024.09.27 |
[project] 1차 미니프로젝트 회고 (0) | 2024.08.31 |