我需要从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),
);
},
),
);
}
关于flutter - 如何从Future初始化ValueNotifier值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59684625/