![](/img/trans.png)
[英]How to pass Future<void> _name(String _string) to a widget in Flutter?
[英]How can I pass variable from Future<String> to void in Flutter?
我正在使用 SharedPreferences 我做了一个简单的保护程序和吸气剂,但我想在使用 initState 打开应用程序时加载我的变量名:
data是一个带有占位符的字符串
保护程序
Future<String> saveNamePreference(String name) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('name', name);
print(name);
return prefs.getString(name);
}
吸气剂
Future<String> getNamePreference() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
final name = prefs.getString('name');
return name.toString();
}
无效初始化状态
@override
void initState() async {
super.initState();
await getNamePreference();
setState(() {
data = name;
});
}
您必须使用 then 方法来执行此操作,因为 initstate 在数据从异步方法到达之前完成了精确计算。
@override
void initState() {
super.initState();
getNamePreference().then((name){
setState(() {
data = name;
});
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.