site-icon Hong Cheung
Mar 6, 2026

Progression, objectifs, tâches, habitudes — le tout en un.

React Native

Ma stack, c’est Supabase + LegendState + React Native (Expo). Je développe cette appli « Productivité » depuis un moment. Surtout ces dernières semaines. Aujourd’hui, je suis tombé sur quelques problèmes, en particulier avec Android.

Pressable qui fait des siennes

Je me suis retrouvé bloqué avec des boutons qui ne fonctionnaient pas dans un ScrollView et un en-tête de Stack, uniquement sur Android. Sur iOS et sur le Web, tout fonctionne parfaitement.

En y regardant de plus près, il vaut mieux utiliser RectButton plutôt que Pressable, surtout quand il y a un Gesture au-dessus de la vue ou à l’intérieur d’un ScrollView.

J’ai passé environ une heure à essayer de comprendre si c’était parce que le Gesture n’était pas géré correctement du fait qu’il sortait des limites. Il s’avère que la solution est aussi simple que d’utiliser RectButton.

SafeAreaView

J’ai un SafeAreaProvider dans le RootLayout, mais je n’avais aucune idée d’où placer SafeAreaView ; je pensais devoir le mettre écran par écran. Mais il s’avère que je n’ai même pas vraiment besoin d’utiliser SafeAreaView. SafeAreaProvider remplit déjà sa fonction.

J’ai arrêté de viser la perfection, je publierai bientôt la première version

Je veux encore ajouter la fonctionnalité d’habitudes à l’appli. Mais pour l’instant, je pense que je vais quand même publier l’appli sans. Puis l’améliorer, corriger les bugs, et ajouter cette fonctionnalité entre-temps.

Ce sera ma toute première grande appli multiplateforme avec un backend.

On verra comment ça se passe.

Précédent