wode-emittery-pattern
Wode Emittery 事件驱动模式是一套用于 React 组件间通信与副作用处理的事件驱动架构约定,基于 Emittery 事件库,将状态管理(Zustand)与副作用(事件处理器)解耦。该模式要求在实现组件间通信或副作用处理时严格遵循:事件类型必须使用命名为 XxxEventType 的 as const 对象,禁止使用 TypeScript 枚举;事件命名必须采用 Module:Action 格式(如 FileSystem:Open、User:Login);必须定义 XxxEmitter = Emittery<XxxEventData> 类型以获得完整类型安全;副作用(如 toast、确认弹窗、网络请求)必须在 Sidecar 组件中处理,绝不放在 Store action 内;Store action 只负责发出事件,不关心谁来处理。模式还提供 createEmitter 工厂函数、useEmitteryListen 订阅 Hook 以及不渲染任何 UI 的 Sidecar 组件示例,帮助开发者以声明方式订阅事件并执行副作用。