Compose传入非State对象仍能重组?MutableStateList原理解析
为什么传递普通List仍会触发Compose重组?
- 核心原因是ViewModel中的
_tasks是**MutableStateList**,它属于Compose的状态容器(实现了State接口),自带状态变更监听机制。 - 虽然对外暴露的
tasks是普通List类型,但它本质上返回的是_tasks这个MutableStateList的引用。 - 当
_tasks内部发生元素增删或修改时,Compose能感知到这个状态容器的变化,从而触发使用tasks的Compose组件(比如WellnessTasksList)进行重组。
内容的提问来源于stack exchange,提问作者Tehleel Mir
相关产品推荐
相关产品推荐

