状态与更新

细粒度响应式。

Cage、Bond 和 Lotus 让数据流保持显式。值和订阅属于 Owner,其生命周期因此与组件树相连。

C

Cage

指向可变应用状态的 Copy 句柄,具有明确所有权。修改它会通知依赖计算。

B

Bond

被追踪的派生值。可选相等性检查可避免多余的下游工作。

L

Lotus

统一的值输入,让组件构建器同时接受静态和响应式内容。

清晰可见的派生计算

Bond、绑定和副作用计算中的读取会被追踪。构造组件时的普通读取不会建立订阅。

reactivity.rs

1 2 3 4 5 6 7 8 9 10 11
let count = scope.cage(1_u64); let parity = scope .bond(move || count.get() % 2) .with_partial_eq(); scope.binding(move || { println!("parity: {}", parity.get()); }); // Only affected consumers are notified. count.revise(|value| *value += 1);

试用实时组件

这个计数器通过 Glory 浏览器宿主运行。标签直接从事件处理器使用的同一个 Cage 派生。

点击次数:⁨0⁩

所有权是模型的一部分

释放作用域会使句柄失效并取消其工作。集合投影和索引列表无需扫描整个数据源,就能保留精确依赖。