🧠React Native — Navigation
Navigation typée avec la fabrique Destination de react-native-azeoo-lib.
Concepts d'abord
Naviguer​
import { Destination } from 'react-native-azeoo-lib';
await sdk.navigate(Destination.nutrition.plan('summer-plan-2025'));
await sdk.navigate(Destination.nutrition.recipe(42, 'Pasta'));
await sdk.navigate(Destination.nutrition.scanner('ai'));
await sdk.navigate(Destination.nutrition.search('lunch'));
await sdk.navigate(Destination.training.workouts());
Types de repas : 'breakfast' | 'lunch' | 'dinner' | 'snack'.
Types de scanner : 'barcode' | 'mobile' | 'ai'.
API de pile​
await sdk.navigate(Destination.nutrition.search());
await sdk.goBack();
await sdk.backToRoot();
const canPop = await sdk.canGoBack();
Les écouteurs BackHandler s'exécutent avant le gestionnaire du pont natif.
Conteneurs de module​
Avec un navigateur d'onglets JS pour les vues natives nutrition + entraînement :
sdk.setModuleContainer((module) => {
setActiveTab(module === 'nutrition' ? 0 : 1);
return true; // handled
});
Retournez
true quand vous avez changé d'ongletRetourner false indique au SDK que votre hôte n'a pas géré le changement de module.
Liens profonds​
// initialize — see Configuration
await AzeooSDK.initialize({ apiKey, deepLinks: { scheme, host, pathPrefix } });
// incoming link
const handled = await sdk.handleDeepLink(url);
if (!handled) {
await sdk.navigate(Destination.nutrition.plan(parsedId));
}
Branchez Linking.addEventListener('url', …) ou le linking React Navigation.
Vues intégrées​
<NutritionView style={{ flex: 1 }} />
<TrainingView style={{ flex: 1 }} />
Combinez avec navigate quand un bouton de l'écran hôte doit ouvrir une route SDK spécifique.
Voir Composants UI.