modx

Crates.iomodx
lib.rsmodx
version0.1.2
sourcesrc
created_at2024-04-11 22:28:09.863412
updated_at2024-05-12 20:02:38.182325
descriptionA way to handle states with structs in Dioxus inspired by mobx
homepage
repositoryhttps://github.com/tkr-sh/modx
max_upload_size
id1205538
size184,606
TKirishima (tkr-sh)

documentation

https://docs.rs/modx/latest/modx/index.html

README

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
Commit count: 28

cargo fmt