【问题标题】:Why call not empty setState()? [duplicate]为什么调用 not empty setState()? [复制]
【发布时间】:2019-04-15 16:48:56
【问题描述】:

为什么 Flutter 定义我们应该调用:

setState(() { _counter++});

代替:

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

据我在setState() 代码中看到的,它不使用任何作为参数传递的东西。

【问题讨论】:

    标签: flutter


    【解决方案1】:

    发布模式下的最终结果是一样的。

    但在调试中,您会免费获得一个断言,它会检查 setState() 内部的回调是否没有返回 Future 并且它会立即返回。

    但是如果你确定回调是同步的,那么调试的结果是一样的。

    【讨论】:

    • 好的,但我仍然不明白为什么要强迫人们将某些东西传递给 setState()... 如果它被称为 invalidateState() 并且在调用它之前我们设置了所有必要的变量,调用我们想要的所有Future,不都一样吗?
    • 好吧,他们不会强迫你。最好的做法是避免异步问题。但既然你可以在外面设置它并且它可以工作,你可以做到。
    猜你喜欢
    • 1970-01-01
    • 2014-04-23
    • 2022-10-18
    • 2018-12-03
    • 2012-07-30
    • 2021-11-27
    • 2020-01-18
    • 1970-01-01
    • 2020-11-04
    相关资源
    最近更新 更多