123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- use dioxus::prelude::*;
- use dioxus_router::prelude::*;
- fn main() {
- dioxus_desktop::launch(App);
- }
- #[component]
- fn App() -> Element {
- rsx! (
- div {
- p {
- a { href: "http://dioxuslabs.com/", "Default link - links outside of your app" }
- }
- p {
- a {
- href: "http://dioxuslabs.com/",
- prevent_default: "onclick",
- onclick: |_| println!("Hello Dioxus"),
- "Custom event link - links inside of your app",
- }
- }
- }
- div {
- Router::<Route> {}
- }
- )
- }
- #[derive(Routable, Clone)]
- #[rustfmt::skip]
- enum Route {
- #[layout(Header)]
- #[route("/")]
- Home {},
- #[route("/settings")]
- Settings {},
- }
- #[component]
- fn Header() -> Element {
- render! {
- h1 { "Your app here" }
- ul {
- li { Link { to: Route::Home {}, "home" } }
- li { Link { to: Route::Settings {}, "settings" } }
- }
- Outlet::<Route> {}
- }
- }
- #[component]
- fn Home() -> Element {
- render!(h1 { "Home" })
- }
- #[component]
- fn Settings() -> Element {
- render!(h1 { "Settings" })
- }
|