4 个版本 (2 个重大变更)
0.3.1 | 2021 年 7 月 31 日 |
---|---|
0.3.0 | 2021 年 7 月 26 日 |
0.2.0 | 2021 年 6 月 27 日 |
0.1.0 | 2021 年 6 月 26 日 |
#12 in #reactivity
19KB
529 行
针对 Rust 的细粒度反应性
基于: https://indepth.dev/posts/1269/finding-fine-grained-reactive-programming
示例
fn main() {
let mut a = Signal::new(1);
let mut b = Signal::new(2);
let c;
{
let a = a.clone();
let b = b.clone();
c = Memo::new(move || *a.read() + *b.read());
}
let _effect = Effect::new(move || println!("{}", *c.read()));
*a.write() = 3;
batch(|| {
*a.write() = 10;
*b.write() = 12;
});
}
输出结果
3
5
22