Всем привет. Читаю про сайдэффекты и пока не понимаю особой

необходимости в них если использовать вьюмодель. Ну например вот этот пример из доки. Мы же могли бы в init вьюмодели запустить таймер же и при рекомпозиции он бы не стартовал заново... Зачем тут LaunchedEffect? Можете в двух словах пояснить за необходимость использования сайдэффектов? Или это мотивирует нас отказаться от использования вьюмоделей?

7 ответов

8 просмотров

Конкретно тут, если смотреть конкретно на запуск — разницы особо не будет. Но с эффектом у тебя есть возможность легко перезапустить его по условию, в случае с VM это будет не так лаконично. Ну и да, VM давно пора закопать, да поглубже, особенно с компоузом.

Alexey-Nimas Автор вопроса
Konstantin Dovnar
Конкретно тут, если смотреть конкретно на запуск —...

Но разве используя вьюмодель мы не можем перезапустить счетчик по какому-то условию? Ну а про "закопать вьюмодель поглубже" так и думал, спасибо)

Alexey Nimas
Но разве используя вьюмодель мы не можем перезапус...

Можем. Но что проще (и красивее): Отдельный метод, который вызывается во viewModel.init и где-то ещё Или эффект у которого условие перезапуска аргументом передается.

Alexey-Nimas Автор вопроса
Konstantin Dovnar
Можем. Но что проще (и красивее): Отдельный метод...

Ну пока что, для человека, который не так давно изучает compose и привык к вьюмодели и вот этому вот всему, проче и красивее рулить всем из вьюмодели) Ну смысл я понял, надо менять привычки и двигаться к тому, что скоро вьюмодели забудутся совсем) Спасибо еще раз

Alexey Nimas
Ну пока что, для человека, который не так давно из...

Забудутся — вряд ли. Слишком много людей которые не хотят даже пытаться избавиться от этой привычки ч которая тут лишняя. Так что если очень хочется — вм ещё долго будет стандартом (плак).

Alexey-Nimas Автор вопроса
Konstantin Dovnar
Конкретно тут, если смотреть конкретно на запуск —...

Кстати, столкнулся действительно с необходимостью использовать LaunchedEffect)) Для того чтобы реквестнуть фокус на определенной вьюшке, полагаю что без эффекта это с композом никак не сделать, вот и ответ пришел, как оно часто бывает пока нет необходимости что-то использовать думаешь "да нафига это вообще придумали если можно и обойтись"))

Похожие вопросы

Обсуждают сегодня

Хтось використовував Vapor на Windows?
Jaroshevskii
15
подскажите, а как можно очистить экран с библиотекой POSIX-UEFI?
Vi Chapmann 🪙
11
@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
6
это кластер, в смысле связность сети высокая, или это сотня хакнутых компов, на которых вертится взлом /etc/passwd ?
Д. П.
8
@spiridonov_dv скажите, у вас будет 1 дц или несколько? переход обработки в другой дц нужен? что будет в таком случае с tcp/tls соединениями? если только udp, то все равно ост...
Ilya
2
Нужен пулл реквест с хаммингберд + асинкхттпклиент или хаммингберд + юрлсессия?
Karl {🌪️}{🐊} Shinobi
8
Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Отдельные отрезки задачи.... Этот момент я пока не понимаю, но пропустим. А что касается ноды... Вот выключилось питание у сервера а он там по tcp куда то сообщение уже отправ...
Дмитрий Спиридонов
1
Карта сайта