如何仅从InheritedWidget调用方法一次?

Pau*_*ann 5 flutter rxdart

我正在使用Rx_command,Rx_dart使用反应性组件流/可观察对象进行开发

问题:

  • 在我的Flutter应用程序中,我继承了可在任何地方调用的小部件:

    FooProvider.of(上下文).foo.method1 ...

  • 我需要在第一次加载UI时首先调用该方法

  • 我无法使用init.state,因为这不可能
  • 我使用didchangedependencies它起作用,但是..

    ...每次ui重新加载时,都将调用didchangeDependencies,并再次执行该方法。

我不想执行它,也不能使用init.state

如何只能执行一次该方法?

Rém*_*let 3

而不是context.inheritFromWidgetOfExactType,使用context.ancestorInheritedElementForWidgetOfExactType

final myInherited = context.ancestorInheritedElementForWidgetOfExactType(MyInherited)?.widget;
Run Code Online (Sandbox Code Playgroud)

这个方法可以在里面找到initState