kotlinforandroid
06/25/2022, 1:32 PMTextField
does compose only update NameUI
or does it also re-compose AgeUI
since state updated and it includes the value for AgeUI
.
private data class State(
var name: String = "",
var age: Int = 0,
)
@Composable
fun UI() {
val state = remember { State() }
NameUI(name = state.name, onNameChange = { state.name = it })
AgeUI(age = state.age, onAgeChange = { state.age = it })
}
@Composable
private fun NameUI(name: String, onNameChange: (String) -> Unit) {
TextField(value = name, onValueChange = onNameChange)
}
@Composable
private fun AgeUI(age: Int, onAgeChange: (Int) -> Unit) {
TextField(value = age.toString(), onValueChange = { onAgeChange(it.toInt()) })
}
ste
06/25/2022, 2:42 PMname
and age
a MutableState
first. After doing so, the answer is yes, e.g. AgeUI
wont't recompose if name
changes (UI
and NameUI
will), because it doesn't read name
and it's Stable
kotlinforandroid
06/25/2022, 3:00 PMAdvitiay Anand
06/26/2022, 6:59 AMGrégory Lureau
06/27/2022, 7:39 AM