在 flutter 中使用 ancestorInheritedElementForWidgetOfExactType

Using ancestorInheritedElementForWidgetOfExactType in flutter

我在上面的 InheritedWidget 中有一个聊天对象到我的应用程序的根小部件。我想在 initState 内访问此对象以设置子窗口小部件的初始状态。我有以下代码:

void initState() {
  super.initState();
  final inheritedWidget = context.ancestorInheritedElementForWidgetOfExactType(MyInheritedWidget).widget;

  inheritedWidget.chat.someFunction();
}

我收到一条错误消息: "The getter 'chat' isn't defined for the class 'InheritedWidget'

我是不是用错了,你怎么用的?

你必须先施放widget

final inheritedWidget = context.ancestorInheritedElementForWidgetOfExactType(MyInheritedWidget).widget as MyInheritedWidget;