yewdux

Crates.ioyewdux
lib.rsyewdux
version0.10.0
sourcesrc
created_at2021-03-15 04:36:27.285496
updated_at2023-12-19 02:54:12.070912
descriptionErgonomic state management for Yew applications
homepage
repositoryhttps://github.com/yewdux/yewdux
max_upload_size
id369063
size60,948
Noah Corona (intendednull)

documentation

README

Yewdux

Ergonomic state management for Yew applications.

See the book for more details.

Example

use yew::prelude::*;
use yewdux::prelude::*;

#[derive(Default, Clone, PartialEq, Store)]
struct State {
    count: u32,
}

#[function_component]
fn ViewCount() -> Html {
    let (state, _) = use_store::<State>();
    html!(state.count)
}

#[function_component]
fn IncrementCount() -> Html {
    let (_, dispatch) = use_store::<State>();
    let onclick = dispatch.reduce_mut_callback(|counter| counter.count += 1);

    html! {
        <button {onclick}>{"+1"}</button>
    }
}

#[function_component]
fn App() -> Html {
    html! {
        <>
        <ViewCount />
        <IncrementCount />
        </>
    }
}

fn main() {
    yew::Renderer::<App>::new().render();
}
Commit count: 272

cargo fmt