функциях.
Условно есть несколько вложенных функций, которые на уровни выше передают события. В итоге их много скапливается и выглядит это всё не очень красиво. Может есть какой-то элегантный способ это всё почистить?
Если у вас в исходной функции vm есть и туда передаются ивенты в один и тот же метод, то можно пробрасывать только одну лямбду fun MyScreen() { //vm MyContent(handleEvent = vm::handleEvent) } fun MyContent( handleEvent: (MyEvent) -> Unit ) Дальше можно прокидывать только один метод, а не все лямбды handleEvent: (MyEvent) -> Unit
С ивентами я так и делаю, но есть ещё навигация и другие ситуативные события, которые обрабатываются на уровне compose функций
Можно единый глобальный стейт иметь и напрямую его менять, а верхнеуровневые функции уже в зависимости от него будут рекомпозироваться. Можно передавать единый объект, который в себе будет весь набор мутаторов состояния держать - что-то типа context/viewModel/youNameIt.
А нормально ли будет всё подряд кидать в State в MVI патерне? Так вьюмоделька будет диктовать как должен будет выглядеть экран
Define "нормально")). Я в некоторых проектах так делаю. По фен-шую ли это и соответствует ли это каким-то кем-то признанным паттернам - не в курсе. Очевидно подход имеет и достоинства и недостатки.
Обсуждают сегодня