I got a code which works but it doesn’t use my routing system :
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ChatScreen(
chatParams: ChatParams(currentUser.uid, userFriend!),
),
),
);
I load perfectly my page. Problems : of course, I want to use my route system.
So i do this :
Navigator.pushNamed(
context,
RouteConsts.chatScreen,
arguments: ChatParams(currentUser.uid, userFriend!),
);
Name of route :
class RouteConsts {
...
static const String chatScreen = '/ChatScreen';
...
}
And the route concerned :
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;
The problem seems to come from the break, which is considered like a “deadcode” by IDE.
This is because i use a return of MaterialPageRoute, so my switch doesn’t like it.
Any idea to resolve this ?
Thanks for your time.