[React Native] FlatList
- this ordered seed list will be replaced by the toc
FlatList
FlatListλ React Nativeμμ 리μ€νΈλ μ€ν¬λ‘€ κ°λ₯ν λͺ©λ‘μ λ λλ§νκΈ° μν ν΅μ¬ μ»΄ν¬λνΈ μ€ νλμ λλ€. μ΄ μ»΄ν¬λνΈλ λ§€μ° ν° λͺ©λ‘μ΄λ λ°μ΄ν° μΈνΈλ₯Ό μ²λ¦¬νλ λ° λ§€μ° ν¨μ¨μ μ΄λ©°, κ°λ‘ μ€ν¬λ‘€ λλ 그리λ λ μ΄μμκ³Ό κ°μ λ€μν 리μ€νΈ μ νμ μ§μ
π€³π»Β μ£Όμ νΉμ§:
- ν¨μ¨μ μΈ λ λλ§:
FlatList
λ νμν νλͺ©λ§ λ λλ§νμ¬ μ±λ₯μ μ΅μ νν©λλ€. νλ©΄μ 보μ΄λ νλͺ©λ§ λ λλ§νλ―λ‘ λκ·λͺ¨ λ°μ΄ν° μΈνΈλ₯Ό μ²λ¦¬νλ λ° μ ν©ν©λλ€. - λ€μν λͺ©λ‘ μ ν μ§μ:
FlatList
λ μμ§ λͺ©λ‘ λΏλ§ μλλΌ κ°λ‘ λͺ©λ‘ λ° κ·Έλ¦¬λ λ μ΄μμλ μ§μν©λλ€.horizontal
λ°numColumns
μμ±μ μ¬μ©νμ¬ λ μ΄μμμ λ³κ²½ν μ μμ΅λλ€. - κ° νλͺ©μ 컀μ€ν°λ§μ΄μ¦:
renderItem
μμ±μ μ¬μ©νμ¬ κ° νλͺ©μ λͺ¨μκ³Ό λ΄μ©μ μμ ν 컀μ€ν°λ§μ΄μ¦ν μ μμ΅λλ€. μ΄κ²μ 볡μ‘ν νλͺ©μ νμνλ λ° λ§€μ° μ μ©ν©λλ€. - μλ‘κ³ μΉ¨ λ° λ¬΄ν μ€ν¬λ‘€:
FlatList
λ μλ‘κ³ μΉ¨ κΈ°λ₯μ μ 곡νκ³ ,onEndReached
μμ±μ ν΅ν΄ 무ν μ€ν¬λ‘€μ ꡬνν μ μμ΅λλ€. - νλͺ©μ λμ ν¬κΈ° μ§μ: κ° νλͺ©μ΄ λ€λ₯Έ ν¬κΈ°λ₯Ό κ°μ§ μ μμΌλ©°,
getItemLayout
μμ±μ μ¬μ©νμ¬ νλͺ©μ ν¬κΈ°λ₯Ό λμ μΌλ‘ κ³μ°ν μ μμ΅λλ€.
π€³π»Β μ¬μ© λ°©λ²:
FlatList
λ₯Ό μ¬μ©νκΈ° μν΄μλ λ€μ λ¨κ³λ₯Ό λ°λ¦
λλ€:
FlatList
μ»΄ν¬λνΈλ₯Ό React Native μ±μ JSX λ΄μ μΆκ°ν©λλ€.data
μμ±μ νμν λ°μ΄ν° λ°°μ΄μ μ 곡ν©λλ€.renderItem
μμ±μ μ¬μ©νμ¬ κ° νλͺ©μ λ λλ§νλ ν¨μλ μ»΄ν¬λνΈλ₯Ό μ μν©λλ€.- λ€λ₯Έ μμ±λ€μ μ¬μ©νμ¬ νμν ꡬμ±μ μ€μ νκ³ νμν λμμ μ μν©λλ€. μλ₯Ό λ€μ΄,
horizontal
μμ±μtrue
λ‘ μ€μ νμ¬ κ°λ‘ μ€ν¬λ‘€ 리μ€νΈλ₯Ό λ§λ€κ±°λ,onEndReached
λ₯Ό μ¬μ©νμ¬ λ¬΄ν μ€ν¬λ‘€μ ꡬνν μ μμ΅λλ€. FlatList
μ»΄ν¬λνΈλ₯Ό μ€νμΌλ§νκ³ λ μ΄μμμ μ‘°μ νμ¬ μνλ λͺ¨μμ λ§λλλ€.
import React from "react";
import { FlatList, Text, View } from "react-native";
const data = [
{ key: "1", text: "Item 1" },
{ key: "2", text: "Item 2" },
// ...
];
const renderItem = ({ item }) => (
<View style=>
<Text>{item.text}</Text>
</View>
);
const MyFlatList = () => <FlatList data={data} renderItem={renderItem} />;
export default MyFlatList;
π€³π»Β μμ± :
data (Type: Array) -
FlatList
μ νμν λ°μ΄ν°λ₯Ό ν¬ν¨νλ λ°°μ΄μ λλ€.FlatList
μ νμν νλͺ©λ€μ λ΄κ³ μλ λ°°μ΄μ λλ€.renderItem (Type: Function or Component) - κ° νλͺ©μ λ λλ§νλ λ° μ¬μ©λλ ν¨μ λλ μ»΄ν¬λνΈμ λλ€. μ΄ μμ±μ νμμ λλ€.
κ° νλͺ©μ νλ©΄μ μ΄λ»κ² νμν μ§ μ μνλ ν¨μ λλ μ»΄ν¬λνΈμ λλ€.
keyExtractor (Type: Function) - κ° νλͺ©μ κ³ μ ν ν€λ₯Ό μΆμΆνκΈ° μν ν¨μλ₯Ό μ μν©λλ€.
κ° νλͺ©μ λν κ³ μ ν μλ³μλ₯Ό μΆμΆνλ ν¨μλ₯Ό μ§μ ν©λλ€.
horizontal (Type: Boolean) - 리μ€νΈλ₯Ό κ°λ‘λ‘ μ€ν¬λ‘€ν μ§ μ¬λΆλ₯Ό μ€μ ν©λλ€.
true
λ‘ μ€μ νλ©΄ κ°λ‘ μ€ν¬λ‘€ 리μ€νΈλ‘ λ³κ²½λ©λλ€.리μ€νΈκ° κ°λ‘ λ°©ν₯μΌλ‘ μ€ν¬λ‘€ν μ§ μ¬λΆλ₯Ό λνλ΄λ λΆμΈ κ°μ λλ€.
numColumns (Type: Integer) - 그리λ λ μ΄μμμ μ¬μ©ν λ μ΄μ μλ₯Ό μ§μ ν©λλ€.
그리λ νμμ 리μ€νΈλ₯Ό λ§λ€ λ ν νλΉ μ΄μ μλ₯Ό μ€μ ν©λλ€.
columnWrapperStyle (Type: Style Object) - 그리λ λ μ΄μμμμ κ° μ΄μ λννλ λ·°μ μ€νμΌμ μ μν©λλ€.
그리λ λ μ΄μμμ μ΄μ λννλ λ·°μ μ€νμΌμ μ§μ νλ μ€νμΌ κ°μ²΄μ λλ€.
ListHeaderComponent (Type: Component) - 리μ€νΈμ 맨 μμ μΆκ°ν μ»΄ν¬λνΈλ₯Ό μ μν©λλ€.
리μ€νΈμ 맨 μμ νμλλ μ»΄ν¬λνΈλ‘, μ£Όλ‘ μ λͺ©μ΄λ ν€λ μ 보λ₯Ό νμνλ λ° μ¬μ©λ©λλ€.
ListFooterComponent (Type: Component) - 리μ€νΈμ 맨 μλμ μΆκ°ν μ»΄ν¬λνΈλ₯Ό μ μν©λλ€.
리μ€νΈμ 맨 μλμ νμλλ μ»΄ν¬λνΈλ‘, μΆκ° μ 보λ λ λ§μ νλͺ©μ νμνλ λ° μ¬μ©λ©λλ€.
ItemSeparatorComponent (Type: Component) - νλͺ© κ°μ ꡬλΆμ μ μ μνλ μ»΄ν¬λνΈμ λλ€.
νλͺ© μ¬μ΄μ νμλλ ꡬλΆμ μ λνλ΄λ μ»΄ν¬λνΈμ λλ€.
ListEmptyComponent (Type: Component) - λ°μ΄ν°κ° λΉμ΄ μμ λ νμν μ»΄ν¬λνΈλ₯Ό μ μν©λλ€.
λ°μ΄ν°κ° λΉμ΄ μμ λ μ¬μ©μμκ² λ©μμ§λ₯Ό νμνλ λ° μ¬μ©λλ μ»΄ν¬λνΈμ λλ€.
initialNumToRender (Type: Integer) - μ²μ λ λλ§ν νλͺ©μ κ°μλ₯Ό μ€μ ν©λλ€.
μ΅μ΄ λ λλ§ μμ λͺ κ°μ νλͺ©μ νλ©΄μ νμν μ§ μ€μ ν©λλ€.
onEndReached (Type: Function) - 리μ€νΈμ λμ λλ¬νμ λ νΈμΆλλ ν¨μλ₯Ό μ μν©λλ€.
μ¬μ©μκ° λ¦¬μ€νΈμ λμΌλ‘ μ€ν¬λ‘€νμ λ νΈμΆλλ ν¨μλ₯Ό μ§μ ν©λλ€.
onEndReachedThreshold (Type: Floating-Point Number) -
onEndReached
μ΄λ²€νΈκ° νΈμΆλκΈ° μ μ μ€ν¬λ‘€ μμΉλ₯Ό μΌλ§λ κ°κΉμ΄ ν΄μΌ νλμ§ μ€μ ν©λλ€.onEndReached
μ΄λ²€νΈκ° νΈμΆλκΈ° μ μ μ€ν¬λ‘€ μμΉλ₯Ό μΌλ§λ κ°κΉμ΄ ν΄μΌ νλμ§λ₯Ό λνλ΄λ λΆλμμμ μ«μμ λλ€.refreshing (Type: Boolean) - μλ‘κ³ μΉ¨ μΈλμΌμ΄ν°λ₯Ό νμνλ €λ©΄
true
λ‘ μ€μ νκ³onRefresh
ν¨μλ₯Ό μ 곡ν©λλ€.μ¬μ©μμκ² μλ‘κ³ μΉ¨ λμμ μ 곡νκ³ ν΄λΉ λμμ μ²λ¦¬νλ λ° μ¬μ©λλ λΆμΈ κ°μ λλ€.
onRefresh (Type: Function) - μλ‘κ³ μΉ¨ λμμ μ²λ¦¬νλ ν¨μλ₯Ό μ μν©λλ€.
μ¬μ©μκ° μλ‘κ³ μΉ¨ λμμ μμν λ νΈμΆλλ ν¨μλ₯Ό μ§μ ν©λλ€.
extraData (Type: Arbitrary Value) - λ λλ§μ μν₯μ λ―ΈμΉλ λ°μ΄ν°μ λ³κ²½ μ¬νμ κ°μ§νκΈ° μν κ°μ μ€μ ν©λλ€.
μ»΄ν¬λνΈμ λ λλ§μ μν₯μ λ―ΈμΉλ λ°μ΄ν°μ λ³κ²½μ κ°μ§νκ³ ν΄λΉ κ°μ μ λ°μ΄νΈνλ λ° μ¬μ©λλ μμμ κ°μ λλ€.
initialScrollIndex (Type: Integer) - μ΄κΈ° μ€ν¬λ‘€ μμΉλ₯Ό μ€μ ν©λλ€.
리μ€νΈκ° μ²μ λ λλ§λ λ νΉμ νλͺ©μ΄ 보μ΄λλ‘ μ΄κΈ° μ€ν¬λ‘€ μμΉλ₯Ό μ€μ νλ λ° μ¬μ©λ©λλ€.
initialScrollOffset (Type: Integer) - μ΄κΈ° μ€ν¬λ‘€ μμΉμ μ€νμ μ μ€μ ν©λλ€.
μ΄κΈ° μ€ν¬λ‘€ μμΉμ ν½μ λ¨μ μ€νμ μ μ€μ νλ λ° μ¬μ©λ©λλ€.
removeClippedSubviews (Type: Boolean) - νλ©΄μ 보μ΄μ§ μλ νλͺ©μ μλ₯΄κ³ μ¬μ¬μ©νκΈ° μν μ΅μ νλ₯Ό νμ±ννλ €λ©΄
true
λ‘ μ€μ ν©λλ€.μ±λ₯ μ΅μ νλ₯Ό μν΄ νλ©΄μ 보μ΄μ§ μλ νλͺ©μ μλ₯΄κ³ μ¬μ¬μ©ν μ§ μ¬λΆλ₯Ό μ€μ νλ λΆμΈ κ°μ λλ€.
onViewableItemsChanged (Type: Function) - 보μ΄λ νλͺ©μ λ³κ²½ μ¬νμ μ²λ¦¬νλ ν¨μλ₯Ό μ μν©λλ€.
νλ©΄μ 보μ΄λ νλͺ©μ΄ λ³κ²½λ λ ν΄λΉ λ³κ²½ μ¬νμ μ²λ¦¬νλ ν¨μλ₯Ό μ§μ ν©λλ€.
viewabilityConfig (Type: Object) -
onViewableItemsChanged
μμ μ¬μ©ν κ°μμ± μ€μ μ μ§μ ν©λλ€.onViewableItemsChanged
μ΄λ²€νΈμμ μ¬μ©ν κ°μμ± μ€μ μ μ§μ νλ κ°μ²΄μ λλ€.