Ответ
Да, можно. LaunchedEffect принимает vararg keys: Any?, поэтому можно передать несколько ключей. Если хотя бы один из них изменится, эффект перезапустится.
LaunchedEffect(key1, key2, key3) {
// Код выполнится при изменении любого из ключей
}
Важно:
- Если ключи — это изменяемые состояния (
State<T>), используйте.value. - Для стабильных данных (примитивы, data-классы) можно передавать их напрямую.
- Избегайте передачи сложных объектов (если не реализован
equals()).