From 24b6874e97961b1c81569af670489fd0e8afb8b1 Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Wed, 4 Jan 2023 12:59:35 -0500 Subject: [PATCH] wip: use signal for clock --- examples/clock.rs | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/examples/clock.rs b/examples/clock.rs index a159ef73a..6b5c59d7e 100644 --- a/examples/clock.rs +++ b/examples/clock.rs @@ -3,29 +3,25 @@ //! The example from the README.md. use dioxus::prelude::*; +use dioxus_signals::{use_init_signal_rt, use_signal}; fn main() { dioxus_desktop::launch(app); } fn app(cx: Scope) -> Element { - let count = use_ref(cx, || 0); + use_init_signal_rt(cx); - let ct = count.to_owned(); - use_coroutine(cx, |_: UnboundedReceiver<()>| async move { + let mut count = use_signal(cx, || 0); + + use_future!(cx, || async move { loop { - tokio::time::sleep(std::time::Duration::from_millis(10)).await; - - *ct.write() += 1; - - let current = *ct.read(); - - println!("current: {}", current); + tokio::time::sleep(std::time::Duration::from_millis(100)).await; + count += 1; + println!("current: {}", count); } }); - let count = count.read(); - cx.render(rsx! { div { "High-Five counter: {count}" } })