#reactive #reactivity #batch

fgr

针对 Rust 的细粒度反应性

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

BSD-3-Clause 协议

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

无运行时依赖