news 2026/2/10 7:44:34

关于compose的remember

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
关于compose的remember

之前有一段代码这样的

@Composable fun WeekDays(checkInList: List<WidgetCheckInBean>?) { val today = LocalDate.now() val daysOfWeek = remember { // 获取最近7天的星期信息 getLastSevenWeekdays(today) } ...... }

根据当前时间,获取过去七天的时间列表,

然后出现了一个bug,更改手机时间,虽然,,大部分人不会这么做,但是更新时间之后呢呢,会触发 checkInList更新,获取最新数据,但是这时候,由于 daysOfWeek 并没有任何触发更新机制,导致daysOfWeek 还是remember中的原来的值,导致时间还是原来的时间列表。

所以这个我们需要加上daysOfWeek 和 checkInList的联动更新

就用到了

val daysOfWeek = remember(checkInList) { val today = LocalDate.now() // 获取最近7天的星期信息 getLastSevenWeekdays(today) }

让checkInList变成daysOfWeek 触发更新的key。

etpack Compose 的一个特点是,当状态(State)发生变化时,相关的 Composable 函数会重组(Recomposition),也就是函数会重新执行。•如果没有 remember:每次重组都会导致函数内的所有代码重新执行。这意味着在函数内创建的任何局部变量都会被重新初始化为其默认值。这会导致状态丢失,例如,一个计算结果、一个随机数、一个列表,都会在每次UI更新时被重置。•有了 remember:remember { ... } 块内的计算逻辑只会在 首次组合(Initial Composition)时执行一次。在后续的重组过程中,Compose 会跳过这个块的执行,直接返回它“记住”的那个计算结果。

通过key,让他更智能的更新,不必要的时候不更新,只是key变化了,才触发更新

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 3:56:36

AI全身感知部署案例:智能安防中的人体行为分析应用

AI全身感知部署案例&#xff1a;智能安防中的人体行为分析应用 1. 技术背景与应用场景 随着人工智能在计算机视觉领域的持续突破&#xff0c;传统安防系统正从“看得见”向“看得懂”演进。在智能监控、异常行为识别、远程看护等场景中&#xff0c;仅靠目标检测或人脸识别已无…

作者头像 李华
网站建设 2026/2/4 8:58:32

虚拟试镜系统开发:Holistic Tracking面部捕捉实战

虚拟试镜系统开发&#xff1a;Holistic Tracking面部捕捉实战 1. 引言&#xff1a;虚拟交互时代的感知基石 随着元宇宙、虚拟主播&#xff08;Vtuber&#xff09;和数字人技术的快速发展&#xff0c;用户对真实感与沉浸感的要求不断提升。传统的单模态动作捕捉方案——如仅支…

作者头像 李华
网站建设 2026/2/9 0:38:27

DLSS版本管理终极指南:3分钟让游戏性能飙升50%

DLSS版本管理终极指南&#xff1a;3分钟让游戏性能飙升50% 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在追求极致游戏体验的道路上&#xff0c;DLSS版本管理已成为NVIDIA显卡用户提升游戏性能的关键技术。通过精准…

作者头像 李华
网站建设 2026/2/10 3:27:47

DLSS版本管理终极方案:一键掌握游戏画质优化完整攻略

DLSS版本管理终极方案&#xff1a;一键掌握游戏画质优化完整攻略 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在游戏画质优化的道路上&#xff0c;DLSS版本管理已成为玩家必须掌握的关键技能。不同DLSS版本在性能和…

作者头像 李华
网站建设 2026/2/3 13:23:02

DLSS Swapper深度解析:重新定义游戏性能优化的智能解决方案

DLSS Swapper深度解析&#xff1a;重新定义游戏性能优化的智能解决方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 在追求极致游戏体验的今天&#xff0c;你是否曾为显卡性能无法充分发挥而烦恼&#xff1f;DLSS S…

作者头像 李华
网站建设 2026/2/10 4:45:17

DLSS Swapper指示器功能完全指南:从基础配置到深度优化

DLSS Swapper指示器功能完全指南&#xff1a;从基础配置到深度优化 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 你是否在游戏中启用了DLSS功能&#xff0c;却不确定它是否真正在工作&#xff1f;DLSS Swapper的指示…

作者头像 李华