Home > Software engineering >  Changing the jetpack compose remember variable from within another function
Changing the jetpack compose remember variable from within another function

Time:10-30

I am developing an application for android devices, using the jetpack compose library.

Example I created inside a compose function

var taskVeriable = remember {mutableStateOf("Hello World")}

I need to update the value of variable from another compose function. Is there any way to achieve this?

@Composable
fun TestComposeA(){

var taskVeriable = remember {mutableStateOf("Hello World")}

TestComposeB(taskVeriable)

}

@Composable
fun TestComposeB(taskVeriable : String){
taskVeriable = "New Value"
}

I want to know if there is a way to do this.

CodePudding user response:

You can pass a function that changes your state. This might help you:

@Composable
fun CompA() {
    var text by remember { mutableStateOf("") }

    CompB(
        text = text,
        onChange = { newText ->
            text = newText
        }
    )
}

@Composable
fun CompB(
    text: String,
    onChange: (String) -> Unit
) {
    TextField(value = text, onValueChange = { onChange(it) })
}
  • Related