blah.rs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //! Basic example that renders a simple VNode to the browser.
  2. use dioxus::events::on::MouseEvent;
  3. use dioxus_core as dioxus;
  4. use dioxus_core::prelude::*;
  5. use dioxus_core_macro::*;
  6. use dioxus_hooks::*;
  7. use dioxus_html as dioxus_elements;
  8. use std::future::Future;
  9. use std::{pin::Pin, time::Duration};
  10. use dioxus::prelude::*;
  11. use dioxus_web::*;
  12. fn main() {
  13. // Setup logging
  14. wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));
  15. console_error_panic_hook::set_once();
  16. // Run the app
  17. dioxus_web::launch(App, |c| c)
  18. }
  19. static App: FC<()> = |(cx, props)| {
  20. let mut state = use_state(cx, || 0);
  21. cx.render(rsx! {
  22. div {
  23. style: {
  24. align_items: "center"
  25. }
  26. section { class: "py-12 px-4 text-center"
  27. div { class: "w-full max-w-2xl mx-auto"
  28. span { class: "text-sm font-semibold"
  29. "static subtree"
  30. }
  31. }
  32. }
  33. section { class: "py-12 px-4 text-center"
  34. div { class: "w-full max-w-2xl mx-auto"
  35. span { class: "text-sm font-semibold"
  36. "dynamic subtree {state}"
  37. }
  38. div {
  39. button { onclick: move |e| state+=1, "incr" }
  40. br {}
  41. button { onclick: move |e| state-=1, "decr" }
  42. }
  43. }
  44. }
  45. }
  46. })
  47. };