Привет. А кто-нибудь знает в каких точно случаях можно делать

return в композабл функциях а когда нет? Я подозреваю что Start/end imbalance можно избежать если делать return НЕ в лямбде вложенной функции или делать return@<что-нибудь>. Я прав?

14 ответов

8 просмотров

это описывается в гайдлайнах, если композ функция возвращает Unit (ничего не возвращает грубо говоря), она эмитит контент какой-то, то там не должно быть return-а, а если она например remember-ит что-то то должна

Agry-Gami Автор вопроса
Silent829
это описывается в гайдлайнах, если композ функция ...

хм я говорю не про возвращение значения, я говорю про ранний выход

Из функций ничего не нужно возвращать. Они потом все перемалываются в хеш из которого строится интерфейс

Agry-Gami Автор вопроса
Norim
Из функций ничего не нужно возвращать. Они потом в...

Спасибо КО. Я знаю как и что делают композ функции. Меня интересует возможность раннего выхода из функции а не какой-то её результат (ну помимо нарисованного интерфейса). Я хочу избавиться по возможности от лишних уровней вложенности If-ов (и от цикломатической сложности заодно)

Agry Gami
Спасибо КО. Я знаю как и что делают композ функции...

Ну семантически состояние же только должно решать что отображать а что нет

Agry-Gami Автор вопроса
Silent829
Ну семантически состояние же только должно решать ...

Э... ну и при чём тут это? Условие в if вполне себе приходит из состояния...

Agry Gami
Э... ну и при чём тут это? Условие в if вполне себ...

Ну да но вы потом вместо того чтобы else блок обработать выходите из функции

Agry-Gami Автор вопроса
Silent829
Ну да но вы потом вместо того чтобы else блок обра...

Я не понимаю о чём вы. "выход" из функции это и есть "else" блок - т.е. если условие не выполняется - ничего не рисуем.

Agry Gami
Я не понимаю о чём вы. "выход" из функции это и ес...

А зачем Вам тут implicit return если можно и без него обойтись если я правильно понимаю?

Agry-Gami Автор вопроса
Silent829
А зачем Вам тут implicit return если можно и без н...

Куда-то ушла беседа не туда... я спрашивал в чём разница между: @Composable fun MyComponent() { if (myState.value) { /* Рисуем */ } // не рисуем, "implicit return" в том смысле что он не написан но он есть } и @Composable fun MyComponent() { if (!myState.value) return // не рисуем и return явный /* Рисуем */ }

Agry Gami
Куда-то ушла беседа не туда... я спрашивал в чём р...

Там вроде ошибка в релизной сборке бросалась индекс вне границ массива

Agry-Gami Автор вопроса
Silent829
Там вроде ошибка в релизной сборке бросалась индек...

Ну да я видел этот стековерфлоу. Только мне всё равно непонятно почему вдруг?

Agry Gami
Ну да я видел этот стековерфлоу. Только мне всё ра...

Наверное композер и компилятор ещё не самые умные чтобы обработать это, хз

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

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

Чет мне ссыкотно опять Rainlab.User в проект ставить. Кто знает, опять наотъебись все сделали или после обнов пользоваться можно?
Black Cat
10
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
это группа токсиков или тех кто помогает?
Ибрагим
9
Можете помочь с этим, я тут использую Джанго как ОРМ для бота, но бот запускать не хочет, уже всезде перерыл не могу решить, может кто то сталкивался?
Ибрагим
4
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
коллеги привет. уже второй день бьемся об заклад с одной ошибкой, может вы сталкивались с таки странным поведением? есть тестовый сервер, на который паблишим релизную версию W...
Magzhan
11
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
всем привет. подскажите. сделал политику, он верхнеуровневая. раздал права только на TEST2 (полные). вопрос - можно ли сделать так, чтобы был доступен только TEST2, а остально...
Андрей Сергеев
5
Кстати, раз про скачивание файлов разговор зашел) Сделал бота для себя (транскрибирующего и суммаризирующего встречи) но не ожидал что за 2 месяца 10к пользователей набежит😅...
Andrey Obolenskiy
8
t.me/<username> и tg://user?id=<id> отваливаются по понятным причинам
Denis 🐍|👑 | darling! 🥰
7
Карта сайта