如何从 Future 初始化 ValueNotifier 值
How to initiate ValueNotifier value from Future
我需要从 http 结果启动我的 ChangeNotifierProvider<ValueNotifier>
。我有这样的服务。
class AddressService {
Future<Address> getMainAddress() async {
return await callHttpHere();
}
}
在我的 StatelessWidget
中:
Widget build(BuildContext context){
return Scaffold(
body: ChangeNotifierProvider<ValueNotifier<Address>>(
create: (_) => ValueNotifier(IWantInitiateThisFrom_GetMainAddress);
),
);
}
您可以使用 FutureBuilder
:
Widget build(BuildContext context) {
return Scaffold(
body: FutureBuilder(
builder: (context, AsyncSnapshot<Address> snapshot) {
if (!snapshot.hasData) return Container();
return ChangeNotifierProvider<ValueNotifier<Address>>(
create: (_) => ValueNotifier(snapshot.data),
);
},
),
);
}
我需要从 http 结果启动我的 ChangeNotifierProvider<ValueNotifier>
。我有这样的服务。
class AddressService {
Future<Address> getMainAddress() async {
return await callHttpHere();
}
}
在我的 StatelessWidget
中:
Widget build(BuildContext context){
return Scaffold(
body: ChangeNotifierProvider<ValueNotifier<Address>>(
create: (_) => ValueNotifier(IWantInitiateThisFrom_GetMainAddress);
),
);
}
您可以使用 FutureBuilder
:
Widget build(BuildContext context) {
return Scaffold(
body: FutureBuilder(
builder: (context, AsyncSnapshot<Address> snapshot) {
if (!snapshot.hasData) return Container();
return ChangeNotifierProvider<ValueNotifier<Address>>(
create: (_) => ValueNotifier(snapshot.data),
);
},
),
);
}