앱에서 위 이미지와 같은 UI를 구현할 때, 주로 flatList의 numColumns를 사용하는데,각 컴포넌트 사이의 간격(column)과 각 줄 사이의 간격(row). 즉 gap을 줄 수 있는 방법이 있다. flatList의 style에 gap 속성을 주면 동작하지 않는데, contentContainerStyle과 columnWrapperStyle에 각 gap 스타일을 주면 동작한다. Row(행) : contentContainerStyleColumn(열) : columnWrapperStyle 코드는 아래와 같이 선언해주면 된다.
scrollview나 flatList 등 scrollview를 기반으로 만들어진 요소들에게 style을 주면 Invariant Violation: ScrollView child layout (["justifyContent"]) must be applied through the contentContainerStyle prop. 위와 비슷한 에러가 나는데, 'contentContainerStyle' 로 스타일을 주라는 뜻이다. 그런데 가끔 골치아픈 경우가 생기는데, justifyContent를 'center' 혹은 'flex-end' 로 줘서 UI를 그려야 할 때가 있는데 이 친구는 flex값을 주어야 동작한다. 하지만 flex값을 주게되면 스크롤이 안되는 경우가 있는데, 이럴 경우에는 flex 대신 fle..
RN으로 개발하다보면 거의 필수적으로 쓰게되는 ScrollView와 FlatList. 그중 나는 FlatList를 사용하여 스크롤이 있는 UI에 배열로 들어오는 데이터들을 화면에 그려주곤 하는데, RenderItem의 {item}에 타입을 지정해주기가 여간 까다로운게 아니다. 알고보니 이건 인수를 넣는 쪽에 타입을 지정해주려는 나의 습관과 고정관념의 문제였고 RN에서는 RenderItem에 타입을 지정해주는 아주 간단한 Type Props를 제공해준다. import {FlatList, ListRenderItem} from 'react-native'; ... type TRenderItemProps = { a : string; b : number; ... } const RenderItem : ListRend..
- Total
- Today
- Yesterday
- TS
- It
- vscode
- CSS
- FlatList
- build
- 앱개발
- IMAGE
- React Native
- ios
- ChatGPT
- useState
- 스파르타코딩클럽
- Android
- gradle
- 영종도데이트
- typeScript
- Ai
- REACT
- JavaScript
- ReactNative
- Mac
- React Hooks
- app
- Xcode
- rn
- useEffect
- vsC
- 코린이
- Firebase
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |