1: onTap: ()=>_handleChildTap('hello')
2: onTap: _handleChildTap:
3: onTap: ()=>_handleChildTap() :
需要传递参数的只有第一种写法,无需传递参数的可以第2个或者第3个,第2个更简洁。
onTap: ()=>_handleChildTap('hello')
这是使用箭头函数(匿名函数)的写法。箭头函数创建了一个新的函数,该函数在被调用时会执行
onTap: _handleChildTap('hello') :--这个写法不对
这是直接调用 _handleChildTap 函数的写法,但是由于它是在 onTap 属性赋值时立即执行的,当这行代码被执行时,_handleChildTap 会立即被调用,而不是等待点击事件发生。这不是处理点击事件的正确方式。
onTap: _handleChildTap:
这是直接传递函数引用的写法。这是处理点击事件的更简洁和直接的方式。当你这样做时,你告诉Flutter:“当这个元素被点击时,请调用 _handleChildTap 函数。” 这不需要额外的匿名函数包装器,并且更加清晰。如果 _handleChildTap 函数不需要任何额外的参数(除了可能从点击事件本身传递的上下文),那么这就是推荐的方式。
onTap: ()=>_handleChildTap() :
这是使用箭头函数(匿名函数)的写法