社交娱乐 | 游戏互动 | 电商购物 |
![]() | ![]() | ![]() |
多人聊天 | K歌 | 跨房连线 |
![]() | ![]() | ![]() |
概念 | 定义 | 示例 |
Store(状态管理器) | Store是AtomicXCore场景化业务模块(例如通话、直播、弹幕)的逻辑与状态管理者。 | • CallListStore: 通话管理器 • LiveListStore: 直播列表管理器 • BarrageStore: 弹幕管理器 |
State(状态数据) | Store 中存储的数据快照,通常是一个 struct,UI 通过订阅 State 的变化来刷新。 | • CallParticipantState: 通话参与者状态 • LiveSeatState: 直播间麦位状态 |
Action(业务方法) | Store 对外提供的业务操作方法,调用 Action 是改变 State 的唯一途径。 | • likeStore.sendLike(): 直播点赞• barrageStore.sendTextMessage(): 发送弹幕• coGuestStore.applyForSeat(): 申请连线 |
Event(事件通知) | Store 发布的一次性回调通知,用于处理异步事件,通常用于触发 UI 动画或提示。 | • GiftEvent.onReceiveGift: 收到礼物事件 • GuestEvent.onHostInvitationReceived: 收到主播上麦邀请事件 |
Store(状态管理器),您只需掌握以下核心步骤:
Store 是特定业务模块(例如弹幕、礼物、通话)的逻辑与状态的唯一管理者,所有的操作都应通过 Store 进行。State 是 Store 某个时刻的数据快照,您的 UI 应该只监听 State 的变化并刷新,不要手动修改 State。Action (方法) 是唯一可以改变 State 的途径。当用户执行操作(例如点击点赞按钮)时,应该调用 Store 提供的 Action 方法。Store 在接收到 Action 后,会在内部处理业务逻辑(可能涉及网络请求),并在成功后自动更新其 State。上一步的 State 订阅者会自动收到通知并刷新 UI。Event (事件) 与 State 不同。State 是“当前是什么”(例如点赞总数),而 Event 是“刚刚发生了什么”(例如“收到了一个礼物”)。Event 通常用于触发一次性 UI 效果,例如播放动画、弹出提示等。文档反馈