Bookmark profile

코틀린에서는 정의되지 않은 함수를 파라미터로 전달할 수 있도록 타입을 설정할 수 있습니다. 정의하는 방법은 다음과 같습니다.

@Composable
fun MyButton(
    onClick: (() -> Unit)? = null,
) { ... }

그렇다면, 이 함수를 사용하려면 invoke를 알아야 하는데, 이 함수를 호출하면 함수가 있는 경우에만 호출해서 사용할 수 있습니다.

@Composable
fun MyButton(
    onClick: (() -> Unit)? = null,
) {
    Box(modifier = Modifier.clickable(onClick = { onClick?.invoke() }))
}