From 741bfbc9ac27a9ec766f9e89e9a3255ac0bf3bad Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Sun, 15 Oct 2023 17:50:23 -0700 Subject: [PATCH] Add toggle to signals example --- examples/signals.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/examples/signals.rs b/examples/signals.rs index 09c184d47..60c9af126 100644 --- a/examples/signals.rs +++ b/examples/signals.rs @@ -6,12 +6,15 @@ fn main() { } fn app(cx: Scope) -> Element { + let running = dioxus_signals::use_signal(cx, || true); let mut count = dioxus_signals::use_signal(cx, || 0); let saved_values = dioxus_signals::use_signal(cx, || vec![0]); use_future!(cx, || async move { loop { - count += 1; + if running.value() { + count += 1; + } tokio::time::sleep(Duration::from_millis(400)).await; } }); @@ -20,10 +23,8 @@ fn app(cx: Scope) -> Element { h1 { "High-Five counter: {count}" } button { onclick: move |_| count += 1, "Up high!" } button { onclick: move |_| count -= 1, "Down low!" } - button { - onclick: move |_| saved_values.push(count.value()), - "Save this value" - } + button { onclick: move |_| running.set(!running.value()), "Toggle counter" } + button { onclick: move |_| saved_values.push(count.value()), "Save this value" } // We can do boolean operations on the current signal value if count.value() > 5 {