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

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

14 ответов

24 просмотра

это описывается в гайдлайнах, если композ функция возвращает 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
Ну да я видел этот стековерфлоу. Только мне всё ра...

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

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

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

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта