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

时间:2018-10-27 14:38:44

标签: flutter rxdart

我正在使用Rx_command,Rx_dart

使用反应性组件流/可观察对象进行开发

问题:

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

      

    FooProvider.of(context).foo.method1 ...

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

  • 因为不可能,所以我不能使用init.state
  • 我使用 didchangedependencies 可以,但是..

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

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

如何只能执行一次方法?

1 个答案:

答案 0 :(得分:3)

使用context.inheritFromWidgetOfExactType代替context.ancestorInheritedElementForWidgetOfExactType

final myInherited = context.ancestorInheritedElementForWidgetOfExactType(MyInherited)?.widget;

此方法在initState内部可用