async.rs 634 B

1234567891011121314151617181920212223242526272829
  1. //! Example: README.md showcase
  2. //!
  3. //! The example from the README.md.
  4. use dioxus::prelude::*;
  5. use dioxus_core as dioxus;
  6. use dioxus_core_macro::*;
  7. use dioxus_hooks::use_state;
  8. use dioxus_html as dioxus_elements;
  9. use dioxus_web;
  10. use gloo_timers::future::TimeoutFuture;
  11. fn main() {
  12. dioxus_web::launch(App, |c| c);
  13. }
  14. static App: FC<()> = |cx, props| {
  15. let mut count = use_state(cx, || 0);
  16. cx.push_task(|| async move {
  17. TimeoutFuture::new(100).await;
  18. count += 1;
  19. });
  20. rsx!(cx, div {
  21. h3 { "High-Five counter: {count}" }
  22. button { onclick: move |_| count.set(0), "Reset!" }
  23. })
  24. };