리액트 JS에서 map 메소드를 이용해 배열에 각 컴포넌트를 담아 렌더링하는 것과 달리
리액트 네이티브에서는 FlatList를 이용해서 리액트 JS와 유사하게 리스트를 구현한다.
FlatList의 data 속성에 배열을 담고
keyExtractor에는 유니크한 key를,
renderItem에 렌더링될 컴포넌트를 넣는다.
map 메소드를 쓰는 것과 유사한 형태다.
import React from 'react';
import { FlatList } from 'react-native';
import ListItem from './listItem'
const messages = [
{ id: 1, message: 'hello' },
{ id: 2, message: 'bye' }
];
function App() {
return (
<FlatList
data={messages}
keyExtractor={message => message.id.toString()}
renderItem={({ item }) => // item 말고 index, separators를 쓸 수 있다.
<ListItem
message={item.message}
/>
)}
ItemSeparatorComponent={() => ( // item 사이의 간격을 주기 위한 속성
<View style={{ width: '100%', height: 5 }} // 컴포넌트를 넣어준다.
)}
/>
);
}
'React Native' 카테고리의 다른 글
리액트 네이티브에서 화면이 상태바 영역을 넘어가지 않게 하는 방법 (0) | 2020.08.15 |
---|---|
안드로이드와 iOS 환경에 따라서 다른 컴포넌트를 불러오는 방법 (0) | 2020.08.13 |
리액트 네이티브에서 아이콘 넣는 방법 (0) | 2020.08.13 |
핸드폰의 화면 회전에 따라 레이아웃을 다르게 만드는 방법 (0) | 2020.08.12 |
Expo 설치, React Native 프로젝트 생성 (0) | 2020.07.19 |