Je voudrais savoir comment accéder à une URL dans mon application Web Flutter.
J'utilise actuellement la Navigator.of(context).Push(MaterialPageRoute(...));
et je ne reçois que localhost:5354/#/
dans la barre d'adresse.
Je voudrais également savoir comment naviguer directement vers une URL particulière en collant simplement l'URL dans la barre d'adresses du navigateur.
Vous devez utiliser des routes nommées au lieu d'utiliser directement des classes pour les routes. Vous pouvez utiliser ce package nommé fluro https://pub.dev/packages/fluro ou bien vous pouvez utiliser la navigation par défaut fournie par flutter.
avec fluro, vous pouvez faire quelque chose comme ça
main.Dart
import '../routes/routes.Dart';
void main() {
FluroRouter.setupRouter();
// run app
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
initialRoute: '/',
onGenerateRoute: FluroRouter.router.generator,
);
}
}
routes.Dart
import 'package:fluro/fluro.Dart';
import 'package:flutter/material.Dart';
class FluroRouter {
static Router router = Router();
static Handler _storyhandler = Handler(
handlerFunc: (BuildContext context, Map<String, dynamic> params) =>
HomeView(id: params['id'][0]));
static Handler _homehandler = Handler(
handlerFunc: (BuildContext context, Map<String, dynamic> params) =>
Home());
static void setupRouter() {
router.define(
'/',
handler: _homehandler,
);
router.define(
'/story/:id',
handler: _storyhandler,
);
}
}
vous pouvez également définir des itinéraires avec des paramètres de requête.
J'espère que cela t'aides!