Тогда когда какой юзать?

9 ответов

16 просмотров

На уровне ViewModel — как угодно и как самому удобнее в конкретных случаях. На уровне компоузабл — второй вариант подходит для эфемерного состояния конкретного компоузабла, а первый для более глобальных штук.

Aleksandr-Petrov Автор вопроса
Konstantin Dovnar
На уровне ViewModel — как угодно и как самому удоб...

Получается какое правило - для отдельного композабл элемента, если нужен Стейт, то мутабельный, для целого экрана - не мутабельные дата классы? (Состояние все равно сохранится во вьюмодели)

Aleksandr Petrov
Получается какое правило - для отдельного композаб...

Да нет никаких правил. Просто как факт, если нужен локальный стейт у компоузабла, то вариант с ремемберами отдельных полей куда лучше ложиться. Во всех остальных случаях — вкусовщина и отдельные кейсы. Где-то удобнее рулить стейтом целиком, а где-то держать отдельное поле. Фанаты SSOT скажут, что всегда лучше держать всё в одном data class.

Aleksandr-Petrov Автор вопроса
Silent829
иммутабельные дата классы)

Не онли). Если бы было онли, то и встроенные компоненты - lazylist и другие имели бы не мутабельный стейт. Но он мутабельный! Почему?

Aleksandr Petrov
Не онли). Если бы было онли, то и встроенные компо...

Вы, кажется, о разных вещах толкуете. mutableState и (immutable) data class разные вещи и вполне уживаются вместе.

Aleksandr-Petrov Автор вопроса
Konstantin Dovnar
Вы, кажется, о разных вещах толкуете. mutableState...

пример можете привести, data class с mutableState полями?

Aleksandr Petrov
Не онли). Если бы было онли, то и встроенные компо...

А в каком месте Вы создаёте LazyListState мутабельным? val listState = rememberLazyListState()

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

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

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Что за японодичь? Мне хоть m68k, хоть 8080, 8088, на любом можно что-то создать
Егор
5
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
и да, кто сказал что у эпла именно такой isa?
Boris Vinogradov
5
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
Карта сайта