LaunchedEffect(true) против LaunchedEffect(Unit)Android

Форум для тех, кто программирует под Android
Anonymous
LaunchedEffect(true) против LaunchedEffect(Unit)

Сообщение Anonymous »

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

Предупреждение: LaunchedEffect(true) так же подозрительно, как и while(true) ). Даже несмотря на то, что для него существуют допустимые варианты использования, всегда делайте паузу и убедитесь, что это то, что вам нужно.

Итак, я искал замену, чтобы избежать этого предупреждения и нашел некоторые, использующие LaunchedEffect(Unit), в то время как область LaunchedEffect отменяется и перезапускается, если ключ изменен.
Итак, мои вопросы:

[*]когда использовать LaunchedEffect(true) и LaunchedEffect(Unit)
[*]когда оба будут перезапущены ? ( Unit & true )
[*]могу ли я рассчитывать на них при первой загрузке данных вместо использования флага isDataLoaded?


Подробнее здесь: https://stackoverflow.com/questions/788 ... effectunit

Вернуться в «Android»