Decompose 是 Kotlin Multiplatform(KMP)的组件化架构库,核心是把业务逻辑封装为与 UI 无关的 Component,并为其提供生命周期、状态保存和子组件管理。
主要能力:Component 通过 ComponentContext 获得生命周期回调、instanceKeeper(跨配置变更保留实例)、savedState(进程死亡后恢复状态)以及绑定生命周期的协程作用域。导航方面提供 Child Stack(堆栈式主导航,支持 push、pop、replaceAll、replaceCurrent、navigate 原子重建)和 Child Slot(单个可选子组件,适合弹窗、对话框)。多标签底部导航可用每个标签独立的 StackNavigation 配合 childContext(key) 隔离状态,再用 SlotNavigation 切换可见标签。
使用方式:在 libs.versions.toml 声明 decompose、extensions-compose、essenty-lifecycle 等依赖,在 commonMain 中引入;用 childStack/childSlot 构建导航,用 subscribeAsState 在 Compose 中订阅状态,用 Children 渲染堆栈并配置动画。
适用场景:KMP 跨平台应用的组件架构、导航、生命周期与状态管理。
限制:资料未提供完整 API 文档、平台支持范围、许可证与收费信息;示例中的版本号与代码需按项目实际情况调整。