Как заставить LaunchedEffect запускаться один раз и больше никогда?

я знаю этоLaunchedEffect(key)выполняется при запуске композиции, а также отменяется и снова выполняется приkeyизменения. Однако я хочу, чтобы он выполнялся только один раз и никогда больше. Я использую следующий обходной путь, но мне кажется, что я что-то упускаю:

      if (!launchedBefore) {
   LaunchedEffect(null) {
      //stuff

      launchedBefore = true
   }
}

Код выше работает просто отлично. Но это похоже на растянутый обходной путь, в то время как можно сделать что-то гораздо более простое. Я неправильно понимаю, как полностью работает LaunchedEffect?

я пытался использоватьnullиUnitкак ключи, потому что они никогда не менялись, но код выполняется каждый раз, когда происходит композиция.

0 ответов

Другие вопросы по тегам