- FutureBuilder
在initState中初始化future方法,而不是直接传方法
错误:
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: httpCall(),
builder: (context, snapshot) {
},
);
}
优化:
class _ExampleState extends State<Example> {
Future<int> future;
@override
void initState() {
future = Future.value(42);
super.initState();
}
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: future,
builder: (context, snapshot) {
},
);
}
}
- 底部导航切换页面 IndexedStack代替switch方法切换 - 可以缓存页面的。