La navigation et le routage sont des éléments essentiels du développement d'applications. Dans Flutter, la navigation et le routage sont gérés à l'aide du widget Navigator et des itinéraires. La navigation fait référence au processus de déplacement entre différents écrans d'une application, tandis que le routage fait référence au mappage d'URL ou d'autres identifiants vers des écrans spécifiques. Ce chapitre couvrira la navigation avec les paramètres facultatifs dans Flutter.
Pour commencer, il est important de comprendre ce que sont les paramètres facultatifs. Dans Dart, les paramètres facultatifs sont des arguments que vous pouvez transmettre à une fonction, mais qui ne sont pas obligatoires. Ceci est utile lorsque vous disposez d’une fonction qui peut accepter plusieurs arguments, mais que vous n’avez besoin d’en transmettre que quelques-uns. Dans le contexte de la navigation dans Flutter, les paramètres facultatifs sont utilisés pour transmettre des données entre les écrans.
Dans Flutter, la navigation entre les écrans se fait via le widget Navigator. Le widget Navigateur fonctionne comme une pile, où vous pouvez placer de nouveaux itinéraires sur la pile et ils seront affichés à l'écran. Lorsque vous souhaitez revenir à l'écran précédent, vous pouvez extraire l'itinéraire actuel de la pile.
Pour transmettre des données entre les écrans, vous pouvez utiliser des paramètres facultatifs. Par exemple, disons que vous disposez d'une liste d'éléments et que lorsque l'utilisateur clique sur un élément, vous souhaitez accéder à un nouvel écran affichant les détails de cet élément. Vous pouvez transmettre l'élément en tant que paramètre facultatif au nouvel itinéraire.
Voici un exemple de la façon dont vous pouvez procéder :
Dans la fonction ci-dessus, nous insérons une nouvelle route sur la pile Navigator. Le nouvel itinéraire est créé à l'aide de la fonction MaterialPageRoute, qui accepte une fonction de générateur. La fonction builder permet de construire l'écran qui sera affiché. Dans notre cas, nous construisons un écran DetailScreen et transmettons l'élément comme paramètre facultatif.
Sur l'écran DetailScreen, vous pouvez accéder à l'élément passé en paramètre facultatif comme suit :
Dans la classe DetailScreen, nous définissons l'élément comme un champ final, ce qui signifie qu'il doit être initialisé lorsque la classe est instanciée. Nous utilisons le constructeur de classe pour initialiser l'élément, et nous marquons l'élément comme @required, ce qui signifie qu'il doit être fourni lorsque la classe est instanciée.
Ensuite, nous utilisons l'élément pour créer l'interface utilisateur dans la fonction de construction. Nous utilisons le nom de l'élément comme titre de l'AppBar et la description de l'élément comme corps de texte.
En résumé, la navigation avec des paramètres facultatifs dans Flutter est un moyen puissant de transmettre des données entre les écrans. En combinant la puissance du widget Navigator avec les paramètres facultatifs de Dart, vous pouvez créer des applications complexes avec plusieurs écrans et données dynamiques.