Se7eN
01/08/2021, 11:04 AMSnapshotStateList<SnapshotStateList<MyObject>>
as a state but when I change it, the composables aren't getting recomposed. However, if I wrap it with a mutable state MutableState<SnapshotStateList<SnapshotStateList<MyObject>>
it's working fine. Is this intended?
data class MyStateHolder(
val name: MutableState<String>,
val list: SnapshotStateList<SnapshotStateList<MyObject>>
)
var state = remember { MyStateHolder(...) }
...
MyComposable(onSomeEvent = { newList -> state = state.copy(list = newList) })
SomeOtherComposable(state.list) // not getting recomposed when I change state with a new list
I'm not sure but I think it works fine if I just change an item of the list as opposed to copying the whole state for a new list.
This works fine:
data class MyStateHolder(
val name: MutableState<String>,
val list: MutableState<SnapshotStateList<SnapshotStateList<MyObject>>>
)
val state = remember { MyStateHolder(...) }
...
MyComposable(onSomeEvent = { newList -> state.list = newList })
SomeOtherComposable(state.list)
Dominaezzz
01/08/2021, 3:01 PMSnapshotStateList
. Just use List
and String
,Dominaezzz
01/08/2021, 3:02 PMState
object changes.Se7eN
01/08/2021, 4:01 PMstate.list[i][j] = something
too so I need the SnapshotStateListDominaezzz
01/08/2021, 4:13 PMSe7eN
01/08/2021, 4:13 PM