mirror of
https://github.com/MaksTinyWorkshop/_Assistant_Lead_Tech
synced 2026-04-06 21:41:42 +02:00
capitalisation
This commit is contained in:
@@ -81,3 +81,55 @@ if (forums.length > 0 || isLoading || paywallRequired) return;
|
||||
- Ou supprimer le guard et dépendre uniquement du changement de paramètre dans le `useEffect`
|
||||
|
||||
- Contexte technique : React Native / Zustand / Expo Router — app-alexandrie 23-03-2026
|
||||
|
||||
---
|
||||
|
||||
<a id="risque-tabs-name-label-inverses"></a>
|
||||
## Expo Router — mapping `name`/`label` des tabs inversés sans erreur
|
||||
|
||||
### Risques
|
||||
|
||||
- `<Tabs.Screen name="x">` route vers `app/(tabs)/x.tsx` — le `title` (label affiché) est totalement indépendant du routage
|
||||
- Un label "Communauté" sur `name="explore"` affiche `explore.tsx` sans aucune erreur de build ni de lint
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Le bon label est affiché, mais l'écran affiché est celui d'un boilerplate ou d'un autre module
|
||||
- Bug invisible jusqu'au test manuel de chaque onglet
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
- Lors de tout ajout ou renommage de tab, valider visuellement que chaque label correspond à l'écran attendu
|
||||
- Convention : aligner le `name` et le nom de fichier avec le wording du label (ex : `name="community"` → `community.tsx` → `title="Communauté"`)
|
||||
- Ajouter un test de smoke de navigation si la structure de tabs est critique
|
||||
|
||||
- Contexte technique : Expo Router — app-alexandrie, 25-03-2026
|
||||
|
||||
---
|
||||
|
||||
<a id="risque-cross-groupe-router-push"></a>
|
||||
## Expo Router — ne jamais préfixer le groupe dans `router.push`
|
||||
|
||||
### Risques
|
||||
|
||||
- `router.push('/(auth)/forgot-password')` depuis un écran `(tabs)/` peut échouer silencieusement ou lever une erreur selon la version d'Expo Router
|
||||
- La résolution des groupes de routes se fait par contexte de navigation — un préfixe de groupe explicite n'est pas un chemin de route valide
|
||||
|
||||
### Symptômes
|
||||
|
||||
- Navigation vers un écran `(auth)/` qui n'aboutit pas ou lève une erreur au runtime
|
||||
- Fonctionne dans certaines versions d'Expo Router mais pas d'autres
|
||||
|
||||
### Bonnes pratiques / mitigations
|
||||
|
||||
```typescript
|
||||
// ❌ Anti-pattern — préfixe de groupe explicite
|
||||
router.push('/(auth)/forgot-password');
|
||||
|
||||
// ✅ Pattern correct — chemin sans groupe
|
||||
router.push('/forgot-password' as never);
|
||||
```
|
||||
|
||||
- Règle : les groupes `(auth)`, `(tabs)`, etc. sont des conventions d'organisation de fichiers, pas des segments de route — ne jamais les inclure dans les appels de navigation programmatique
|
||||
|
||||
- Contexte technique : Expo Router — app-alexandrie, 25-03-2026
|
||||
|
||||
Reference in New Issue
Block a user