[英]Why rebuilding when TextField tapped?
如果删除 MediaQuery.of(context).size 代码,它将不会重建。
这是我的代码。
class ExamplePage extends StatelessWidget {
Future<Size> init(BuildContext context) async {
print("init");
return MediaQuery.of(context).size;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: FutureBuilder(
future: init(context),
builder: (BuildContext context, AsyncSnapshot<Size> snapshot) {
return Center(child: TextField());
}));
}
}
future: init(context),
这可能会导致每次为此小部件调用 build() 时调用 init(context)。 相反,类似这样的事情应该在这个小部件的 initState() 中完成,这样它只在小部件创建时完成一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.