An open API service indexing awesome lists of open source software.

https://github.com/tkr-sh/modx

A way to handle states with structs in Dioxus
https://github.com/tkr-sh/modx

dioxus frontend rust state-management wasm

Last synced: 3 months ago
JSON representation

A way to handle states with structs in Dioxus

Awesome Lists containing this project

README

          

modx



github release


crates.io downloads


docs.rs docs


stars

[modx](https://github.com/tkr-sh/modx) is an experimental way to handle states with structs in [Dioxus](https://dioxuslabs.com/) inspired by [mobx](https://mobx.js.org/README.html).

## Example
```rs
#[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:

```sh
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:

- [X] Signals
- [X] Props
- [X] Resources
- [ ] Memo
- [ ] Server future