在 Jetpack Compose 中使用“content = { }”参数或直接使用“{}”有什么区别吗?

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

我想知道直接使用“content = {}”参数而不是“{}”是否更好,尽管我看到更多人使用“{}”。

使用其中之一,代码是否更干净,或者代码加载速度是否更快? 有什么好的做法吗?

使用“{}”时

@Composable
fun MyComposable(){
Box{}
}

使用“content = {}”时

@Composable
fun MyComposable(){
Box(content = {})
}
parameters android-jetpack-compose parentheses readability curly-braces
1个回答
1
投票

此处使用的概念是 Kotlin 尾随 lambdaKotlin 命名参数

Kotlin 命名参数

所以,这可以用命名参数来编写,

@Composable
fun MyComposable(){
    Box({})
}

像这样

@Composable
fun MyComposable(){
    Box(content = {})
}

Kotlin 尾随 lambda

来自文档,

根据 Kotlin 约定,如果函数的最后一个参数是函数,那么作为相应参数传递的 lambda 表达式可以放在括号之外

这意味着,

@Composable
fun MyComposable(){
    Box({})
}

@Composable
fun MyComposable(){
    Box() {}
}

是一样的。

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