Flutter圈子Flutter中文社区

关于setState() called after dispos

2019-05-27  本文已影响2人  住进混沌深海里

此State对象当前是否在树中。
在创建State对象之后并在调用initState之前,框架通过将State对象与BuildContext相关联来“安装”它。 State对象保持挂载,直到框架调用dispose,之后框架永远不会要求State对象再次构建。

除非mounted为true,否则调用setState是错误的。

_init() async {
    SharedPreferences mac = await SharedPreferences.getInstance();
    var locamac = mac.getString('mac');
    if (mounted) {
      setState(() {
        storageMac = locamac;
      });
    }
  }

我出现的场景是Tabbar 三个的时候,我使用了mounted去判断,但是好像不太如意,先记录下来,

上一篇 下一篇

猜你喜欢

热点阅读