Flutter 封装state,解决已经销毁的widget调用setState方法的报错日志

36 阅读1分钟
import 'package:flutter/material.dart';
/// 封装state,解决已经销毁的widget调用setState方法的报错日志
abstract class XMState<T extends StatefulWidget> extends State<T> {
  @override
  void setState(VoidCallback fn) {
    if (mounted) { // 已经准备好的,未被销毁的
      super.setState(fn);
    } else {
      print("XMState 页面销毁了,不执行setState方法:$toString()");
    }
  }
}
```
```