inheritFromWidgetOfExactType ist veraltet. Verwenden Sie stattdessen abhängigeOnInheritedWidgetOfExactType


23

Seit der Veröffentlichung von Flutter 1.12 ist mein folgender Code:

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

warnt mit folgendem:

'inheritFromWidgetOfExactType' ist veraltet und sollte nicht verwendet werden. Verwenden Sie stattdessen dependOnInheritedWidgetOfExactType. Diese Funktion war nach Version 1.12.1 veraltet. Versuchen Sie, die Verwendung des veralteten Elements durch das Ersetzen zu ersetzen.

Aber wenn ich versuche, es zu ersetzen, funktioniert es nicht:

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

Weiß jemand, wie es geht? Vielen Dank!

Antworten:


77

Die API hat sich leicht geändert.

Anstatt ein TypeArgument als Argument zu verwenden, ist die Methode jetzt generisch.

Vor:

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

Nach:

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

Beachten Sie, dass die Besetzung nicht mehr erforderlich ist


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.