Flutter语言 - 如何在setState之后直接更改值



我有一个bool fetchNew。它被初始化为false,我有一个函数refresh()将其设置为true。如何在setState阻止渲染后将其设置为false ?

class _DashboardState extends State<Dashboard> {
bool fetchNew = false;
@override
void initState() {
super.initState();
}
refresh() {
setState(() {
fetchNew = true;
});
}
@override
Widget build(BuildContext context) {
return Container();
}
}

我认为initState()会在渲染后再次将其设置为false,但我理解initState的方式是它只会触发一次将Widget注入到Widget树中。

你能试试吗?

setState(() {
fetchNew = true;
Future.delayed(Duration(milliseconds: 100, () {
fetchNew = false;
});
});