What's the reasoning for the difference between de...
# compose
e
What's the reasoning for the difference between default values for composable lambda parameters like in
OutlinedTextField
where they are nullable, and
Scaffold
where they are empty lambdas?
s
You can look at the implementation of it to figure out the difference. Sometimes they use nullable composables so that you can null check it to figure out if you need to do something differently if it exists or not. If you use an empty lambda you wouldn’t know it’s not gonna be there, only that it’s there but then it’d emit no UI. For example look at this line here https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/[…]e/material/OutlinedTextField.kt;l=542-544?q=OutlinedTextField and how they add some padding if the lambda is there at all, it’d look super weird if it was an empty lambda, so the padding was added and there was no actual placeholder.