Flutter中两个setState表达式之间有什么区别?

问题描述 投票:0回答:2

SetState函数接受void Function作为参数。对于第一个表达式,一切正常,但是使用lambda表达式会产生错误。第二个表达式也没有定义void函数吗?

setState(() {
  _count++;
});

setState(() => {
  _count++;
});
flutter dart
2个回答
0
投票

据我所知,使用lambda函数时不能使用大括号,因此,如果尝试下面的代码,它将像第一个setState()一样工作>

setState(
() => _count++;
);

This可能也有帮助。

lambda函数的一般语法是

return_type function_name(arguments) => expression;

您可以看到,没有大括号。

This也是一篇很好的文章,可以为您提供帮助。


0
投票

在颤动中,您可以使用(){ \\one or multiple expressions with/out a return value/type }() => single_line_expression;

© www.soinside.com 2019 - 2024. All rights reserved.