Можно ли передать несколько ключей в LaunchedEffect

«Можно ли передать несколько ключей в LaunchedEffect» — вопрос из категории Jetpack Compose, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, можно. LaunchedEffect принимает vararg keys: Any?, поэтому можно передать несколько ключей. Если хотя бы один из них изменится, эффект перезапустится.

LaunchedEffect(key1, key2, key3) {  
    // Код выполнится при изменении любого из ключей  
}  

Важно:

  • Если ключи — это изменяемые состояния (State<T>), используйте .value.
  • Для стабильных данных (примитивы, data-классы) можно передавать их напрямую.
  • Избегайте передачи сложных объектов (если не реализован equals()).