React-Native | FlatList

어니·2023년 1월 19일
0

TIL

목록 보기
15/16
post-thumbnail

https://reactnative.dev/docs/flatlist_

<ScrollView><FlatList>의 차이점

둘다 'react-native'에서 기본적으로 제공되는 기능들이다.

import {ScrollView , FlatList} from 'react-native'

데이터가 화면 밖을 벗어났을 때 스크롤 기능이 작동되는 기능들이지만 차이점이 있다.



<ScrollView>는 모든 하위 데이터를 한번에 렌더링 한다.

즉 list가 10개 정도면 그나마 괜찮은데 많약 100개 이상이 넘어간다고 하면 한번에 100개 이상의 데이터를 렌더링하기 때문에 불필요하기도, 속도도 저하되기도 한다.
출력해야하는 데이터가 고정적이고 데이터양이 많지 않을 때 사용이 권장되는 컴포넌트이다.



<FlatList>는 화면에 보여지는 부분만 렌더링한다.

데이터 양을 알 수 없고 데이터 길이가 고정되지 않은 상황에 사용하도록 권장하는 컴포넌트이다. 덕분에 불필요한 렌더링이 실행되지 않아 더욱 효율적이다.


<FlatList> 사용예제

<View style={styles.goalsContainer}>
	<FlatList
		data={courseGoals} 
		renderItem={(itemData) => {
			return (<GoalItem text={itemData.item.text} id={itemData.item.id}]/>)}} 
          // 모든 항목에서 key를 가져오려고 호출하는 함수
        keyExtractor={(item, index) => {
			return item.id}}
     />
</View>

// 여기 item은 FlatList가 내부적으로 생성한 객체이다!!
// 데이터 배열 내 개별 데이터 항목으로 감싸 준 객체

profile
개린이

0개의 댓글