Skip to content

Android ViewModel

class PostListScreen : Screen {

    @Composable
    override fun Content() {
        val viewModel = viewModel<PostListViewModel>()
        // ...
    }
}

By default Voyager provides its own LocalViewModelStoreOwner and LocalSavedStateRegistryOwner, that way you can safely create ViewModels without depending on Activity or Fragment.

Info

Voyager provides a similar implementation, the ScreenModel, which does the same as ViewModel but also works with Compose Multiplatform.

Sample

Info

Source code here.