#dioxus #state #redux #api-bindings #mobx

modx

受 mobx 启发的,使用结构体处理状态的 Dioxus 方法

5 个版本

0.1.2 2024 年 5 月 12 日
0.1.1 2024 年 4 月 28 日
0.1.0 2024 年 4 月 19 日
0.0.1 2024 年 4 月 11 日

#398 in WebAssembly

GPL-3.0-or-later

50KB
299 代码行

modx

github release crates.io downloads docs.rs docs stars

modx 是一种实验性的方法,在 Dioxus 中使用结构体处理状态,受 mobx 启发。

示例

#[modx::store]
struct CounterStore {
    count: i64,
}

impl CounterStore {
    fn inc(&mut self) {
        self.count += 1;
    }

    fn dec(&mut self) {
        self.count -= 1;
    }
}

fn app() -> Element {
    let mut store = CounterStore::new();
    rsx! {
        button { onclick: move |_| store.inc(), "+1" }
        button { onclick: move |_| store.dec(), "-1" }
        "{store.count}"
    }
}

文档

文档可在 https://docs.rs/modx 找到

更多示例

~/examples 中有一些示例,您可以看到如何使用 modx 以及它的行为。

您可以使用以下命令运行示例:

cargo run --example this_example

其中 this_example 是文件名(不包含扩展名)

开发进度

在不久的将来,大部分钩子应该会被重写以与 modx 兼容。

以下是当前状态:

  • 信号
  • 属性
  • 资源
  • 记忆
  • 服务器未来

依赖项

~250–690KB
~17K SLoC