FutureProvider 的用例
Use case for FutureProvider
我想知道 FutureProvider
class 有什么用例?
我特别感兴趣如何在 ui 是 built 和 FutureProvider
、ChangeNotifierProvider
或任何类似的东西。
此外,每次调用 notifyListeners()
时,我都希望该提供程序通过异步调用重新 uild ui。提供者有任何可能的方式吗?还是我遗漏了什么?
FutureProvider
没有内置更新机制 – 但可以与 Consumer
和可变对象(ChangeNotifer
或 State
)结合使用处理更新。
它有两个主要用途:
- 公开需要异步加载的"immutable value"(例如配置文件):
FutureProvider<MyConfig>(
builder: (_) async {
final json = await // TODO load json from something;
return MyConfig.fromJson(json);
}
)
- 或者,它可以与可以变异的东西(比如
ChangeNotifier
)结合,将 Future
转换成更容易操作的东西:
ChangeNotifierProvider(
builder: (_) => Foo(),
child: Consumer<Foo>(
builder: (_, foo, __) {
return FutureProvider.value(
value: foo.someFuture,
child: ...,
);
},
),
);
我想知道 FutureProvider
class 有什么用例?
我特别感兴趣如何在 ui 是 built 和 FutureProvider
、ChangeNotifierProvider
或任何类似的东西。
此外,每次调用 notifyListeners()
时,我都希望该提供程序通过异步调用重新 uild ui。提供者有任何可能的方式吗?还是我遗漏了什么?
FutureProvider
没有内置更新机制 – 但可以与 Consumer
和可变对象(ChangeNotifer
或 State
)结合使用处理更新。
它有两个主要用途:
- 公开需要异步加载的"immutable value"(例如配置文件):
FutureProvider<MyConfig>(
builder: (_) async {
final json = await // TODO load json from something;
return MyConfig.fromJson(json);
}
)
- 或者,它可以与可以变异的东西(比如
ChangeNotifier
)结合,将Future
转换成更容易操作的东西:
ChangeNotifierProvider(
builder: (_) => Foo(),
child: Consumer<Foo>(
builder: (_, foo, __) {
return FutureProvider.value(
value: foo.someFuture,
child: ...,
);
},
),
);