FutureProvider将null赋予侦听器

时间:2020-01-26 05:07:31

标签: flutter future flutter-provider

我认识到FutureProvider可以用于模型。需要通过其Future方法初始化模型,因此我尝试了init() async。但是FutureProvider没有给出模型的实例。它给了FutureProvider

另外,在使用null成功更新UI时,调用ChangeNotifierProviderFutureProvider似乎没有更新UI。 notifyListeners()得到相同的结果。有什么要解决的吗?谢谢。

Consumer

1 个答案:

答案 0 :(得分:0)

您可以使用ChangeNotifierProvider。每当调用notifyListeners时,它将更新您的UI。

ChangeNotifierProvider(
  create: (context) => MyModel()..init(), 
  child: MyHomePage(),
)

如果您在init方法中未执行任何操作,则实际上不需要调用init

如果您的MyModel类仅用于单个int值,则您甚至不需要使用它。您可以执行以下操作:

ChangeNotifierProvider<ValueNotifier<int>>(
  create: (context) => ValueNotifier<int>(0),
  child: MyHomePage(),
);

在您的主页内

final counter = Provider.of<ValueNotifier<int>>(context);

您可以在Text小部件中使用它,例如:

Text('${counter.value}')