simple.rs 1021 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. use dioxus_core::prelude::*;
  2. use dioxus_core_macro::*;
  3. use dioxus_html as dioxus_elements;
  4. use dioxus_router::*;
  5. use serde::{Deserialize, Serialize};
  6. fn main() {
  7. console_error_panic_hook::set_once();
  8. wasm_logger::init(wasm_logger::Config::new(log::Level::Debug));
  9. dioxus_web::launch(APP);
  10. }
  11. static APP: Component<()> = |cx| {
  12. #[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
  13. enum Route {
  14. Home,
  15. About,
  16. NotFound,
  17. }
  18. impl Default for Route {
  19. fn default() -> Self {
  20. Route::Home
  21. }
  22. }
  23. let route = use_router(&cx, |c| {});
  24. cx.render(rsx! {
  25. div {
  26. {match route {
  27. Route::Home => rsx!(h1 { "Home" }),
  28. Route::About => rsx!(h1 { "About" }),
  29. Route::NotFound => rsx!(h1 { "NotFound" }),
  30. }}
  31. nav {
  32. Link { to: Route::Home, href: "/" }
  33. Link { to: Route::About, href: "/about" }
  34. }
  35. }
  36. })
  37. };