问题:
一个ListWidget 继承与 StatefulWidget 当第一次加载时list为[],第二次list有数据时 ListWidget里面的list还是为[],而在调用方是有数据的。
Widget ListWidget extends StatefulWidget {
@override
State<ListWidget> createState() => _ListWidgetState(list: []);
}
Widget _ListWidgetState extends State<ListWidget> {
List<String> list;
_ListWidgetState(this.list)
@Override
Widget build(BuildContext buildContext) {
return null;
}
}
解决办法:
1、将ListWidget继承与StatelessWidget
2、还是继承与StatefulWidget 每次改变ListWidget构造函数中的Key即可(类似于Vue中的Key效果)
官方解释:
如果一个widget发生了变化(例如用户与它交互),它就是有状态的。但是,如果一个子widget对变化做出反应,而其父widget对变化没有反应,那么包含的父widget仍然可以是无状态的widget