title: Jetpack compose NavHost prevent recomposition screens
body: <p>as you see this is how i implemented NavHost with MaterialBottomNavigation, i have many items on both <strong>Messages</strong> and <strong>Feeds</strong> screens, when i navigate between them both screens, they automatically recomposed but i don't wanna because of much data there it flickring and fps drops to under 10 when navigating, i tried to initialize data viewModels before NavHost but still same result, is there any way to compose screens once and update them just when viewModels data updated?</p>
  <pre><code>@Composable
  private fun MainScreenNavigationConfigurations(
      navController: NavHostController,
      messagesViewModel: MessagesViewModel = viewModel(),
      feedsViewModel: FeedsViewModel = viewModel(),
  
  ) {
  
  val messages: List&lt;Message&gt; by messagesViewModel.messages.observeAsState(listOf())
  val feeds: List&lt;Feed&gt; by feedsViewModel.messages.observeAsState(listOf())
  
  NavHost(
      navController = navController,
      startDestination = &quot;Messages&quot;
  ) {
      composable(&quot;Messages&quot;) {
          Messages(navController, messages)
      }
      composable(&quot;Feeds&quot;) { Feeds(navController, feeds) }
    }
  }
  </code></pre>