颤抖关于setState()的两个代码的差异

时间:2020-08-16 06:38:36

标签: flutter

这些代码是否起到相同的作用? 据我了解,setState()通知框架该对象的内部状态已更改,因此我们是否在其中传递参数都无关紧要。

    Future<void> _incrementCounter() async {
        setState(() {
           _counter++;
        });
    Directory directory = await getApplicationDocumentsDirectory();
    final String dirName = directory.path;
    await File('$dir/counter.txt').writeAsString('$_counter');
   }
   _______________________________________________________________
   Future<void> _incrementCounter() async {
        _counter++;
        setState(() {          
        });
    Directory directory = await getApplicationDocumentsDirectory();
    final String dirName = directory.path;
    await File('$dir/counter.txt').writeAsString('$_counter');
   }

1 个答案:

答案 0 :(得分:1)

是的,无论您是在_counter++内还是在setState()之前写 setState(() { _counter++; }); ,都是一样的事情。

setState()

如上所述编写只会使代码更易于理解。因为任何在此处查看我们称为_counter++的代码的人都可以清楚地看到UI中的lambdify更改。