Isaac Udy
09/12/2022, 10:59 AMremember
state alive between calls to movableContentOf
?
I currently have a situation where I am doing something like this:
val moveable = remember { moveableState { DrawAnItem() } }
if(visible) moveable.invoke()
The problem is that when “visible” gets toggled, all `remember`ed state inside DrawAnItem
is reset.
However, if I do this:
val moveable = remember { moveableState { DrawAnItem() } }
if(visible) moveable.invoke()
else {
Box(modifier = Modifier.alpha(0f)) {
moveable.invoke()
}
}
the `remember`ed items are properly remembered in between calls to “visible”. This obviously isn’t a very good solution, but I’m trying to figure out how to keep a composable “alive” when I know that I’m going to render it again in the not-too-distant future.Filip Wiesner
09/12/2022, 11:10 AMDrawAnItem
composable 😄 But that does not really answer your questionFilip Wiesner
09/12/2022, 11:10 AMDrawAnItem
naming goes against the compose naming conventions)Isaac Udy
09/12/2022, 11:14 AMZoltan Demant
09/12/2022, 12:21 PMSaveableStateHolder.SaveableStateProvider
under a given key. Maybe this is not the answer youre looking for as well, but many navigation frameworks use this approach under the hood so I thought Id at least mention it 🙂Isaac Udy
09/12/2022, 12:28 PMremember
calls. I was hoping to get remember working, but I think that rememberSaveable will probably be enough.
However, rememberSaveable
wasn’t working correctly for me until I moved some of my Composable logic around (where some onDispose calls were, where the SaveableStateHolder was being used, etc), but it all appears to be working now with rememberSaveable
. Thanks for your help.