Как заставить LaunchedEffect запускаться один раз и больше никогда?
я знаю этоLaunchedEffect(key)
выполняется при запуске композиции, а также отменяется и снова выполняется приkey
изменения. Однако я хочу, чтобы он выполнялся только один раз и никогда больше. Я использую следующий обходной путь, но мне кажется, что я что-то упускаю:
if (!launchedBefore) {
LaunchedEffect(null) {
//stuff
launchedBefore = true
}
}
Код выше работает просто отлично. Но это похоже на растянутый обходной путь, в то время как можно сделать что-то гораздо более простое. Я неправильно понимаю, как полностью работает LaunchedEffect?
я пытался использоватьnull
иUnit
как ключи, потому что они никогда не менялись, но код выполняется каждый раз, когда происходит композиция.