169 похожих чатов

Привет! Столкнулся со странной штукой. Вроде понимаю что происходит, но не

могу найти в документации почему
В картинке код, я от туда лишнее поудалял, оставил минимум
Косяк в том, что в лямбде skip не срабатывает замыкание на currentBook. А в like срабатывает
В результате при вызове skip из BookCard значение bookId всегда оказывается одинаковым
Предпологаю, что дело в перекомпилязии Composable. Судя по всему skip в такой записи не перекомпилируется при обновлении стейта
А может причина другая
В общем, может кто знает подскажет, куда в документации смотреть?

12 ответов

9 просмотров

Как skip внутри BookCard вызывается?

А зачем в компоте этой шляпой заниматься если она в стейте есть

Semyon-Shepetov Автор вопроса
Sergey Shipilov
🗿

А, сори, пропустил слово "как" в вопросе) Вот так skip().. даже не знаю как еще его можно вызывать))

Semyon Shepetov
А, сори, пропустил слово "как" в вопросе) Вот так ...

Я хотел просто код посмотреть внутри BookCard

Semyon-Shepetov Автор вопроса
Sergey Shipilov
Я хотел просто код посмотреть внутри BookCard

очень много кода, сложно что то конкретное вычленить

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

Semyon-Shepetov Автор вопроса
Sergey Shipilov
currentBook где-то меняется же? Получается в локал...

да, это то что происходит однако, если обновляется стейт, то обновляется currentBook в переменной. Book это объект значит передается по указателю. Старое значение там должно вознивать если где то было копирование объекта. Но ведь его небыло.. А в лямбде like и вовсе все прекрасно работает. Видимо за счет того, что там замыкание на state, а не на currentBook

В котлине нет указателей

Semyon-Shepetov Автор вопроса
Sergey Shipilov
В котлине нет указателей

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

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

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

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
22
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Сегодня у себя обнаружил Holodeck-2_8_0.exe (48.5 Mb). Вопрос: откуда он у меня взялся?
楽園松本
8
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Карта сайта