Guía de migración para RouteInformation.location
Depreciación de `RouteInformation.location` y sus APIs relacionadas.
Resumen
#RouteInformation.location y las APIs relacionadas fueron depreciadas
a favor de RouteInformation.uri.
Contexto
#RouteInformation
necesita la información de autoridad para
manejar deeplinks móviles desde diferentes dominios web.
El campo uri se añadió a RouteInformation para capturar
toda la información del deeplink y los parámetros relacionados con la ruta
se convirtieron al formato completo Uri.
Esto llevó a la depreciación de las APIs incompatibles.
Descripción del cambio
#RouteInformation.locationfue reemplazado porRouteInformation.uri.WidgetBindingObserver.didPushRoutefue depreciado.- El parámetro
locationdeSystemNavigator.routeInformationUpdatedfue reemplazado por el parámetrourirecién añadido.
Guía de migración
#Código antes de la migración:
const RouteInformation myRoute = RouteInformation(location: '/myroute');
Código después de la migración:
final RouteInformation myRoute = RouteInformation(uri: Uri.parse('/myroute'));
Código antes de la migración:
final String myPath = myRoute.location;
Código después de la migración:
final String myPath = myRoute.uri.path;
Código antes de la migración:
class MyObserverState extends State<MyWidget> with WidgetsBindingObserver {
@override
Future<bool> didPushRoute(String route) => _handleRoute(route);
}
Código después de la migración:
class MyObserverState extends State<MyWidget> with WidgetsBindingObserver {
@override
Future<bool> didPushRouteInformation(RouteInformation routeInformation) => _handleRoute(
Uri.decodeComponent(
Uri(
path: uri.path.isEmpty ? '/' : uri.path,
queryParameters: uri.queryParametersAll.isEmpty ? null : uri.queryParametersAll,
fragment: uri.fragment.isEmpty ? null : uri.fragment,
).toString(),
)
);
}
Código antes de la migración:
SystemNavigator.routeInformationUpdated(location: '/myLocation');
Código después de la migración:
SystemNavigator.routeInformationUpdated(uri: Uri.parse('/myLocation'));
Timeline
#Introducido en la versión: 3.10.0-13.0.pre
En el lanzamiento estable: 3.13.0
Referencias
#PRs relevantes:
- PR 119968: Implementar soporte de url para RouteInformation y didPushRouteInformation.
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.