унаследованное наследование наследуется как устаревшее, вместо этого используйте зависимостьOnInheritedWidgetOfExactType

23

С момента выпуска Flutter 1.12 мой следующий код:

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

предупреждает со следующим:

«attributeitFromWidgetOfExactType» устарел и не должен использоваться. Вместо этого используйте зависимостьOnInheritedWidgetOfExactType. Эта функция устарела после 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/…
Хосе Джет