오늘 댓글기능을 만들고 있었다 입력폼을 눌렀는데 키보드가 댓글 입력폼을 가리는 문제가 발생해 댓글 입력시 포커스되게 하려고 저번에 배운 useRef를 사용해봤다.. 하지만 내가 초보이기 때문인지 잘 먹지가않아 여러가지 찾아보다가 chatgpt한테 물어보던 중에 KeyboardAwareScrollView를 알게됐다
KeyboardAwareScrollView : 라이브러리의 스크롤 컴포넌트로, TextInput에 포커스가 가면 자동으로 스크롤을 조정해서 입력창이 키보드에 가려지지 않게 해준다. 기본 ScrollView/FlatList는 이걸 자동으로 안 해주기 때문에, 댓글창·폼 화면에서 유용하다..
<ScrollView> ==> <KeyboardAwareScrollView>
const inputRef = useRef<TextInput | null>(null);
const scrollRef = useRef<ScrollView | null>(null);
const headerHeight = useHeaderHeight();
<KeyboardAwareScrollView
innerRef={(ref) => (scrollRef.current = ref)}
style={styles.container}
keyboardShouldPersistTaps="handled"
enableOnAndroid
extraScrollHeight={64} // 키보드 위 여유공간 확보
extraHeight={64} // 키보드 위 여유공간 확보
keyboardOpeningTime={0}
>
기존의 ScrollView 태그를 아예 KeyboardAwareScrollView로 바꿔줬더니 잘 작동한다.

'Front-End' 카테고리의 다른 글
| Access Token으로 로그인 여부 판단 시 문제 발생부터 해결까지 (0) | 2025.11.13 |
|---|---|
| Access Token 구현한 후 호기심 [Node + TypeScript + Expo Go] (0) | 2025.09.29 |
| React Native 사용하면서 배운 것 정리 (0) | 2025.09.29 |
| [Node.js + React ] CORS 문제 해결 (3) | 2025.08.08 |
| [HTML] sr-only 와 display: none (2) | 2024.09.20 |