Skip to content
/ modx Public
forked from tkr-sh/modx

A way to handle states with structs in Dioxus

License

Notifications You must be signed in to change notification settings

ASR-ASU/modx

 
 

Repository files navigation

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

About

A way to handle states with structs in Dioxus

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 99.1%
  • Just 0.9%