Modifier - Ki-Kobayashi/Android-Wiki GitHub Wiki

🟩 ModifierをComposableの引数として受け取り、基盤のModifierに渡した方がいい理由

※下記のようにすることを、Android公式が推奨している

@Composable
fun AffirmationCard(affirmation: Affirmation, modifier: Modifier = Modifier) {
  // ⚠️modifierを渡すのは、基盤となるCardのみ。中身に配置するComposableには、Modifier.xxxを渡す。
    Card(modifier = modifier) {

    }
}

🟡理由

親の設定値(Modifier) を、部品側が引き継ぐことができ、再利用性が高まるから。

// 通常のAffirmationCard
AffirmationCard(affirmation = someAffirmation)

// 大きめのAffirmationCard
AffirmationCard(affirmation = someAffirmation, modifier = Modifier.size(200.dp))

// 赤い背景のAffirmationCard
AffirmationCard(affirmation = someAffirmation, modifier = Modifier.background(Color.Red))