美文网首页
2022-09-29 Flutter setState ca

2022-09-29 Flutter setState ca

作者: 我是小胡胡分胡 | 来源:发表于2022-09-28 19:49 被阅读0次

    Flutter setState callBack fn方法区别

    区别

     setState(() {
      _counter++;
      });
    
      _counter++;
     setState(() {
      });
    

    看源码:

    void setState(VoidCallback fn) {
        assert(fn != null);
        assert(() {
          if (_debugLifecycleState == _StateLifecycle.defunct) {
          //throw
          }
          if (_debugLifecycleState == _StateLifecycle.created && !mounted) {
          //throw
          }
          return true;
        }());
        final Object? result = fn() as dynamic;
        assert(() {
          if (result is Future) { 
            //throw
          }
          return true;
        }());
        _element!.markNeedsBuild();
      }
    

    从上可以看出来,两种写法,本质上没有什么区别。
    都是执行 _counter++; 语句之后,
    调用 _element!.markNeedsBuild(); 刷新界面

    相关文章

      网友评论

          本文标题:2022-09-29 Flutter setState ca

          本文链接:https://www.haomeiwen.com/subject/yuvkartx.html