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

macro modx

A way to handle states with structs in Dioxus inspired by mobx

7 releases

Uses new Rust 2024

new 0.1.4 Apr 12, 2025
0.1.3 Apr 12, 2025
0.1.2 May 12, 2024
0.1.1 Apr 28, 2024
0.0.1 Apr 11, 2024

#385 in WebAssembly

Download history 1/week @ 2025-01-11 2/week @ 2025-01-18

313 downloads per month

LGPL-3.0-or-later

45KB
302 lines

modx

github release crates.io downloads docs.rs docs stars

modx is an experimental way to handle states with structs in Dioxus inspired by mobx.

Example

#[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}"
    }
}

Documentation

Documentation can be found at https://docs.rs/modx

More examples

There are some examples at ~/examples so you can see how to use modx and how it behaves.

You can run an example with:

cargo run --example this_example

with this_example being the name of the file (without the extension)

Development progress

In the near future, most of the hooks should be rewrote to work with modx.

Here is the current status:

  • Signals
  • Props
  • Resources
  • Memo
  • Server future

Dependencies

~205–640KB
~15K SLoC