I’ve ran into an interesting case! I have the foll...
# compose
g
I’ve ran into an interesting case! I have the following composable
Copy code
@Composable
fun CalculatorScreen() {

    val calculatorState by state { CalculatorState() }

    Column {

        CalculatorResultsRow(Calculator.calculate(calculatorState))

        VerticalScroller {
            Column {
                SliderFieldView(
                    field = SliderField.NUMBER_OF_BALLS,
                    onValueChanged = { calculatorState.numberOfBalls = it })
                SliderFieldView(
                    field = SliderField.WEIGHT_PER_BALL,
                    onValueChanged = { calculatorState.weightPerBall = it })
                SliderFieldView(
                    field = SliderField.WATER,
                    onValueChanged = { calculatorState.water = it })
                SliderFieldView(
                    field = SliderField.SALT,
                    onValueChanged = { calculatorState.salt = it })
            }
        }


        OutlinedButton(onClick = { Log.d("CalculatorScreen", Calculator.calculate(calculatorState).toString())}, modifier =  Modifier.fillMaxWidth()) {
            Text(text = "Save")
        }
    }
}
I would have expected
CalculatorResultsRow
to get updated with the new values every time the state changes, but it is not the case. A change of value on
onValueChanged
doesn’t mean the tree is re-rendered? What am I missing?