mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-09-22 07:11:57 +00:00
feat: simplify login example
This commit is contained in:
parent
babe862739
commit
4d965c8571
1 changed files with 7 additions and 24 deletions
|
@ -10,39 +10,22 @@ fn main() {
|
|||
}
|
||||
|
||||
fn app(cx: Scope) -> Element {
|
||||
cx.render(rsx! {
|
||||
Router {
|
||||
Route { to: "/", home() }
|
||||
Route { to: "/login", login() }
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
fn home(cx: Scope) -> Element {
|
||||
cx.render(rsx! {
|
||||
h1 { "Welcome Home" }
|
||||
Link { to: "/login", "Login" }
|
||||
})
|
||||
}
|
||||
|
||||
fn login(cx: Scope) -> Element {
|
||||
let service = use_router(&cx);
|
||||
|
||||
let onsubmit = move |evt: FormEvent| {
|
||||
to_owned![service];
|
||||
let username = evt.values["username"].clone();
|
||||
let password = evt.values["password"].clone();
|
||||
|
||||
cx.spawn(async move {
|
||||
let resp = reqwest::Client::new()
|
||||
.post("http://localhost/login")
|
||||
.form(&[("username", username), ("password", password)])
|
||||
.form(&[
|
||||
("username", &evt.values["username"]),
|
||||
("password", &evt.values["password"]),
|
||||
])
|
||||
.send()
|
||||
.await;
|
||||
|
||||
match resp {
|
||||
// Parse data from here, such as storing a response token
|
||||
Ok(_data) => service.push_route("/"),
|
||||
Ok(_data) => {
|
||||
println!("Login successful");
|
||||
}
|
||||
|
||||
//Handle any errors from the fetch here
|
||||
Err(_err) => {}
|
||||
|
|
Loading…
Reference in a new issue