inheritFromWidgetOfExactTypeは非推奨です。代わりにdependOnInheritedWidgetOfExactTypeを使用してください


23

Flutter 1.12のリリース以降、私の次のコード:

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

次の警告を出します:

'inheritFromWidgetOfExactType'は非推奨であり、使用しないでください。代わりにdependOnInheritedWidgetOfExactTypeを使用してください。この機能はv1.12.1以降廃止されました。廃止されたメンバーの使用を置き換えてみてください。

しかし、私がそれを交換しようとすると、それは機能しません:

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

誰かがそれを行う方法を知っていますか?ありがとう!

回答:


77

APIが少し変更されました。

現在は、Typeas引数をとる代わりに、メソッドは汎用です。

前:

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

後:

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

キャストが不要になったことに注意してください


2
ありがとうございました!私もここでそれを見つけた:github.com/flutter/flutter/blob/master/packages/flutter/test/...
ホセジェット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.