rememberRetainedValue

fun <T> rememberRetainedValue(key: String? = null, viewModelStoreOwner: ViewModelStoreOwner = checkNotNull(LocalViewModelStoreOwner.current) { "No ViewModelStoreOwner was provided via LocalViewModelStoreOwner" }, onDispose: T.() -> Unit? = null, calculation: () -> T): T

Remember the value produced by calculation. It behaves similarly to rememberSaveable, but uses ViewModel to store the value.

You must have a ViewModelStoreOwner provided via a composition local to use this function