React Native
私のスタックは Supabase+LegendState+React Native(Expo) です。 この「Productivity」アプリをしばらく前から作っています。特にここ数週間は。 今日はいくつかの問題に直面しました。特に Android で。
Pressable の挙動がおかしい
ScrollView と Stack ヘッダーの中で一部のボタンが動作しない問題にはまりました。しかも Android だけで。iOS と Web ではまったく問題なく動作します。
調べてみると、Pressable よりも RectButton を使うほうがよいとのこと。特にビューの上や ScrollView の中に Gesture がある場合には。
Gesture が範囲外にあるために適切に処理されていないのが原因なのか、1 時間ほどかけて突き止めようとしました。結局、解決策は RectButton を使うだけというシンプルなものでした。
SafeAreaView
RootLayout に SafeAreaProvider を置いていますが、SafeAreaView をどこに置けばよいのか見当もつきませんでした。画面ごとに置く必要があると思っていたのです。しかし、実際には SafeAreaView を本当に使う必要すらないことがわかりました。SafeAreaProvider がすでにその役割を果たしてくれています。
完璧を目指すのはやめ、まもなく最初のバージョンをリリース
まだアプリに習慣機能を追加したいと思っています。でも今は、それがなくてもアプリを公開しようと思います。そして改善し、バグを修正しながら、その間にこの機能を追加していきます。
バックエンドを備えたクロスプラットフォームの大きなアプリとしては、これが初めてになります。
どうなるか見てみましょう。