В чем разница между RememberUpdatedState и использованием mutableStateOf при составлении реактивного ранца? ⇐ Android
-
Anonymous
В чем разница между RememberUpdatedState и использованием mutableStateOf при составлении реактивного ранца?
Меня очень смущает вариант использования rememberUpdatedState
Разве это не то же самое, что использование mutableStateOf без remember? В этом случае каков вариант использования rememberUpdatedState, если он каждый раз обновляется с новым значением?
@SuppressLint("UnrememberedMutableState") @Композитный веселое приветствие (имя: String, модификатор: Модификатор = Модификатор) { вар var1, запомнив { изменяемыйStateOf (0) } Столбец { Текст( text = "Переменная 1: $var1" ) Кнопка (onClick = { вар1 += 1 }) { Текст("Приращение") } TextChild (derivedVar = var1) } } @SuppressLint("UnrememberedMutableState") @Композитный весело TextChild (derivedVar: Int) { вар var1, запомнив { mutableStateOf (derivedVar) } // НЕ будет обновляться никогда var var2 = mutableStateOf(derivedVar) // Всегда будет иметь то же значение, что и var3 var var3 = RememberUpdatedState(newValue = DerivedVar) // Всегда будет иметь то же значение, что и var2 Столбец { Текст( text = "Здесь производная переменная", размер шрифта = 30.sp ) Текст( text = "Значение var1: $var1", размер шрифта = 30.sp ) Текст( text = "Значение var2: ${var2.value}", размер шрифта = 30.sp ) } }
Меня очень смущает вариант использования rememberUpdatedState
Разве это не то же самое, что использование mutableStateOf без remember? В этом случае каков вариант использования rememberUpdatedState, если он каждый раз обновляется с новым значением?
@SuppressLint("UnrememberedMutableState") @Композитный веселое приветствие (имя: String, модификатор: Модификатор = Модификатор) { вар var1, запомнив { изменяемыйStateOf (0) } Столбец { Текст( text = "Переменная 1: $var1" ) Кнопка (onClick = { вар1 += 1 }) { Текст("Приращение") } TextChild (derivedVar = var1) } } @SuppressLint("UnrememberedMutableState") @Композитный весело TextChild (derivedVar: Int) { вар var1, запомнив { mutableStateOf (derivedVar) } // НЕ будет обновляться никогда var var2 = mutableStateOf(derivedVar) // Всегда будет иметь то же значение, что и var3 var var3 = RememberUpdatedState(newValue = DerivedVar) // Всегда будет иметь то же значение, что и var2 Столбец { Текст( text = "Здесь производная переменная", размер шрифта = 30.sp ) Текст( text = "Значение var1: $var1", размер шрифта = 30.sp ) Текст( text = "Значение var2: ${var2.value}", размер шрифта = 30.sp ) } }
Мобильная версия