inheritFromWidgetOfExactType está en desuso, use en su lugar dependOnInheritedWidgetOfExactType

23

Desde el lanzamiento de Flutter 1.12, mi siguiente código:

static MyInheritedWidget of(BuildContext context) {
  return context.inheritFromWidgetOfExactType(MyInheritedWidget) as MyInheritedWidget;
}

advierte con lo siguiente:

'inheritFromWidgetOfExactType' está en desuso y no debe usarse. Use dependOnInheritedWidgetOfExactType en su lugar. Esta característica quedó en desuso después de v1.12.1 .. Intente reemplazar el uso del miembro en desuso por el reemplazo.

Pero cuando trato de reemplazarlo, no funciona:

static MyInheritedWidget of(BuildContext context) {
  return context.dependOnInheritedWidgetOfExactType(MyInheritedWidget) as MyInheritedWidget;
}

¿Alguien sabe cómo hacerlo? ¡Gracias!

Jose Jet
fuente

Respuestas:

77

La API cambió ligeramente.

Ahora, en lugar de tomar un Typeargumento, el método es genérico.

Antes de:

final widget = context.inheritFromWidgetOfExactType(MyInheritedWidget) as MyInheritedWidget;

Después:

final widget = context.dependOnInheritedWidgetOfExactType<MyInheritedWidget>();

Tenga en cuenta que el yeso ya no es necesario

Rémi Rousselet
fuente
2
¡Gracias! También lo encontré aquí: github.com/flutter/flutter/blob/master/packages/flutter/test/…
Jose Jet