унаследованное наследование наследуется как устаревшее, вместо этого используйте зависимость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/…
Хосе Джет
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.