спадitFromWidgetOfExactType застарілий, замість цього використовується залежністьOnInheritedWidgetOfExactType


23

З моменту випуску Flutter 1,12 мій наступний код:

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

попереджає:

'legaitFromWidgetOfExactType' застарілий і не повинен використовуватися. Використовуйте натомість залежне від спадковогоWidgetOfExactType. Ця функція була видалена після v1.12.1. Спробуйте замінити використання застарілого члена заміною.

Але коли я намагаюся його замінити, це не працює:

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

Хтось знає, як це зробити? Дякую!

Відповіді:


77

API незначно змінився.

Тепер замість того, щоб брати за Typeаргумент, метод є загальним.

Перед:

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

Після:

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

Зауважте, що акторський склад більше не потрібен


2
Дякую! Я знайшов це також тут: github.com/flutter/flutter/blob/master/packages/flutter/test/…
Jose Jet
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.