IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dart Discussion :

retourner un MaterialPageRoutevia un routage dynamique


Sujet :

Dart

  1. #1
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 300
    Points : 67
    Points
    67
    Par défaut retourner un MaterialPageRoutevia un routage dynamique
    Bonjour à tous,

    J'ai un code qui fonctionne mais il n'utilise pas mon système de routage dynamique :

    Code dart : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
              Navigator.push(
                context,
                MaterialPageRoute(
                  builder: (context) => ChatScreen(
                    chatParams: ChatParams(currentUser.uid, userFriend!),
                  ),
                ),
              );
    Je charge parfaitement ma page. Problèmes : bien sûr, je souhaite utiliser mon système de routes. Alors je fais ceci :
    Code dart : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
              Navigator.pushNamed(
                context,
                RouteConsts.chatScreen,
                arguments: ChatParams(currentUser.uid, userFriend!),
              );
    Nom de la route :
    Code dart : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    class RouteConsts {
      ...
      static const String chatScreen = '/ChatScreen';
      ...
    }
    Le code de la route concernée (extrait) :
    Code dart : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    class RouteGenerator {
      static Route<dynamic> generate(BuildContext context, RouteSettings settings) {
        Widget page = Center(child: Text('Route isn't accessible')); 
     
        switch (settings.name) {
          case RouteConsts.chatScreen:
            print("on y est");
            if (settings.arguments is ChatParams) {
              ChatParams chatParams = settings.arguments as ChatParams;
              print(chatParams);
              return MaterialPageRoute(
                builder: (context) => ChatScreen(chatParams: chatParams),
              );
            } else {
              print("Unexpected arguments type for ChatScreen: ${settings.arguments.runtimeType}");
              return MaterialPageRoute(builder: (_) => ItemsListScreen());
              // Vous pouvez également retourner null ou une autre route de secours si nécessaire
            }
            break;
          default:
            page = Center(child: Text('La route n\'est pas accessible'));
            break;
        }

    Le problème semble venir du break, qui est considéré comme un « deadcode » par l'IDE.
    C'est parce que j'utilise un retour de MaterialPageRoute, donc mon switch case ne l'aime pas.
    Une idée pour résoudre ça ?

    Merci pour votre temps et vos efforts.

  2. #2
    Membre éclairé
    Homme Profil pro
    Autre
    Inscrit en
    Juillet 2021
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Juillet 2021
    Messages : 347
    Points : 708
    Points
    708
    Par défaut
    Bonjour,

    L'erreur semble bien visible avec la coloration syntaxique, la quote dans le texte 'Route isn't accessible' n'est pas échappée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Widget page = Center(child: Text('Route isn\'t accessible'));

Discussions similaires

  1. Routage dynamique - Le protocole RIP
    Par ram-0000 dans le forum Réseaux
    Réponses: 0
    Dernier message: 21/01/2014, 18h48
  2. Routage dynamique avec authentification
    Par le merou dans le forum Protocoles
    Réponses: 4
    Dernier message: 19/03/2010, 16h56
  3. variantes du problème de routage dynamique
    Par laureat dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 13/03/2010, 16h48
  4. Routage dynamique Vyatta
    Par Atchoum89 dans le forum Réseau
    Réponses: 7
    Dernier message: 29/01/2010, 17h44
  5. routage dynamique sous boson
    Par purdivinity dans le forum Protocoles
    Réponses: 1
    Dernier message: 17/10/2006, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo