今天遇到一个问题:
    列表数据删除后,数据与ui展示不一致。
    现象为:
    删除前 删除【1】后
    数据 [1,2,3,4] 数据 [2,3,4]
    列表 [1,2,3,4] 列表 [1,2,3]
    经过调查发现是列表子组件item未加didUpdateWidget生命周期,未及时更新数据所致。

    1. @override
    2. void didUpdateWidget(covariant oldWidget) {
    3. super.didUpdateWidget(oldWidget);
    4. _list = widget.list;
    5. setState(() {});
    6. }

    注:在子组件嵌套层数超过1层后,需要加didUpdateWidget生命周期,在子组件内及时同步数据。