React Native
제 스택은 Supabase+LegendState+React Native(Expo)입니다. 이 “생산성” 앱을 꽤 오래 만들어 왔습니다. 특히 지난 몇 주 동안은요. 오늘은 특히 Android에서 몇 가지 문제를 겪었습니다.
이상하게 동작하는 Pressable
ScrollView와 Stack 헤더 안에서 일부 버튼이 작동하지 않는 문제에 막혔는데, Android에서만 그랬습니다. iOS와 Web에서는 완벽하게 잘 작동했습니다.
알아보니, 특히 뷰 위에 Gesture가 있거나 ScrollView 안에 있을 때는 Pressable보다 RectButton을 사용하는 게 더 낫습니다.
Gesture가 범위를 벗어나서 제대로 처리되지 않는 건가 싶어 파악하는 데 한 시간 정도를 썼습니다. 결국 해결책은 RectButton을 쓰는 것만큼이나 간단했습니다.
SafeAreaView
RootLayout에 SafeAreaProvider를 두고 있었지만, SafeAreaView를 어디에 둬야 하는지는 전혀 몰랐습니다. 화면마다 넣어야 하는 줄 알았거든요. 그런데 SafeAreaView를 굳이 사용할 필요조차 없다는 걸 알게 됐습니다. SafeAreaProvider가 이미 그 역할을 해주고 있었습니다.
완벽주의는 그만, 곧 첫 버전을 출시합니다
아직 앱에 습관 기능을 추가하고 싶습니다. 하지만 당장은 그 기능 없이 앱을 출시할 생각입니다. 그다음에 개선하고 버그를 고치면서 그 기능을 넣어갈 겁니다.
백엔드가 있는 크로스 플랫폼 대형 앱은 이번이 처음입니다.
어떻게 될지 지켜봐야겠습니다.