SuperAPI AI 工具集

gpui-global

通用与其它

查看项目

更新于 10-16 00:01

技能介绍

用途:在 GPUI 中实现应用级共享状态,使数据可从任意上下文访问,适合全局配置、功能开关和共享资源。

主要能力:实现 Global trait 即可让类型全局可访问;用 cx.set_global 设置全局值,用 cx.global::<T>() 只读访问,用 cx.update_global 修改。全局默认只读,需要可变时使用内部可变性(如 Arc<AtomicUsize>、Arc<RwLock<Cache>>)。共享资源建议用 Arc 以便廉价克隆。

使用方式:定义结构体并派生 Clone,实现 Global;在启动时调用 cx.set_global 初始化;在组件中通过 cx.global 读取,通过 cx.update_global 更新。注意全局更新不会自动触发通知,需要手动调用 cx.notify() 让相关组件重新渲染。

适用场景:应用配置(API 端点、重试次数、超时)、功能开关、共享服务(HTTP 客户端、日志器)、只读参考数据。

限制:不要过度使用全局,组件专属状态、频繁变化的状态或需要通知的状态应使用 Entities。资料未提供安装命令、版本要求与平台限制。