Не сохраняется значение счетчика Kotlin Decompose
Разбираю библиотеку Decompose Аркадия Иванова по итогу при изменении счетчика и смены экрана, счетчик не сохраняет свое значение и обнуляется.
Интерфейс компонента
interface SecondComponent {
val model: Value<Model>
fun onIncrementClicked()
fun onDecrementClicked()
fun onBackClicked()
data class Model(
val count: Int = 0
)
}
Реализация интерфейса
class DefaultSecondComponent(
private val componentContext: ComponentContext,
private val onBack: () -> Unit,
): SecondComponent, ComponentContext by componentContext{
private val state = MutableValue(Model())
override val model: Value<Model> = state
override fun onIncrementClicked() {
state.update { it.copy(count = it.count + 1)}
}
override fun onDecrementClicked() {
state.update { it.copy(count = it.count - 1) }
}
override fun onBackClicked() {
onBack()
}
}
Создание навигации с помощью ChildStack
private fun secondComponent(component: ComponentContext):
SecondComponent =
DefaultSecondComponent(
componentContext = component,
onBack = navigation::pop
)