Skip to content

Commit a8952a9

Browse files
committed
fix: exampels
1 parent 5c4bd08 commit a8952a9

File tree

14 files changed

+371
-256
lines changed

14 files changed

+371
-256
lines changed

examples/calculator.rs

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,19 @@ fn main() {
1818
}
1919

2020
fn app(cx: Scope) -> Element {
21-
let display_value = use_state(&cx, || String::from("0"));
21+
let (display_value, set_display_value) = use_state(&cx, || String::from("0"));
2222

2323
let input_digit = move |num: u8| {
24-
if display_value.get() == "0" {
25-
display_value.set(String::new());
24+
if display_value == "0" {
25+
set_display_value(String::new());
2626
}
27-
display_value.modify().push_str(num.to_string().as_str());
27+
set_display_value
28+
.make_mut()
29+
.push_str(num.to_string().as_str());
2830
};
2931

3032
let input_operator = move |key: &str| {
31-
display_value.modify().push_str(key);
33+
set_display_value.make_mut().push_str(key);
3234
};
3335

3436
cx.render(rsx!(
@@ -53,7 +55,7 @@ fn app(cx: Scope) -> Element {
5355
KeyCode::Num9 => input_digit(9),
5456
KeyCode::Backspace => {
5557
if !display_value.len() != 0 {
56-
display_value.modify().pop();
58+
set_display_value.make_mut().pop();
5759
}
5860
}
5961
_ => {}
@@ -65,30 +67,30 @@ fn app(cx: Scope) -> Element {
6567
button {
6668
class: "calculator-key key-clear",
6769
onclick: move |_| {
68-
display_value.set(String::new());
69-
if *display_value != "" {
70-
display_value.set("0".into());
70+
set_display_value(String::new());
71+
if !display_value.is_empty(){
72+
set_display_value("0".into());
7173
}
7274
},
73-
[if *display_value == "" { "C" } else { "AC" }]
75+
[if display_value.is_empty() { "C" } else { "AC" }]
7476
}
7577
button {
7678
class: "calculator-key key-sign",
7779
onclick: move |_| {
78-
let temp = calc_val(display_value.get().clone());
80+
let temp = calc_val(display_value.clone());
7981
if temp > 0.0 {
80-
display_value.set(format!("-{}", temp));
82+
set_display_value(format!("-{}", temp));
8183
} else {
82-
display_value.set(format!("{}", temp.abs()));
84+
set_display_value(format!("{}", temp.abs()));
8385
}
8486
},
8587
"±"
8688
}
8789
button {
8890
class: "calculator-key key-percent",
8991
onclick: move |_| {
90-
display_value.set(
91-
format!("{}", calc_val(display_value.get().clone()) / 100.0)
92+
set_display_value(
93+
format!("{}", calc_val(display_value.clone()) / 100.0)
9294
);
9395
},
9496
"%"
@@ -98,7 +100,7 @@ fn app(cx: Scope) -> Element {
98100
button { class: "calculator-key key-0", onclick: move |_| input_digit(0),
99101
"0"
100102
}
101-
button { class: "calculator-key key-dot", onclick: move |_| display_value.modify().push('.'),
103+
button { class: "calculator-key key-dot", onclick: move |_| set_display_value.make_mut().push('.'),
102104
"●"
103105
}
104106
(1..10).map(|k| rsx!{
@@ -130,7 +132,7 @@ fn app(cx: Scope) -> Element {
130132
}
131133
button { class: "calculator-key key-equals",
132134
onclick: move |_| {
133-
display_value.set(format!("{}", calc_val(display_value.get().clone())));
135+
set_display_value(format!("{}", calc_val(display_value.clone())));
134136
},
135137
"="
136138
}

examples/crm.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ pub struct Client {
2020
}
2121

2222
fn app(cx: Scope) -> Element {
23-
let scene = use_state(&cx, || Scene::ClientsList);
2423
let clients = use_ref(&cx, || vec![] as Vec<Client>);
25-
let firstname = use_state(&cx, String::new);
26-
let lastname = use_state(&cx, String::new);
27-
let description = use_state(&cx, String::new);
24+
let (scene, set_scene) = use_state(&cx, || Scene::ClientsList);
25+
let (firstname, set_firstname) = use_state(&cx, String::new);
26+
let (lastname, set_lastname) = use_state(&cx, String::new);
27+
let (description, set_description) = use_state(&cx, String::new);
2828

2929
cx.render(rsx!(
3030
body {
@@ -38,7 +38,7 @@ fn app(cx: Scope) -> Element {
3838

3939
h1 {"Dioxus CRM Example"}
4040

41-
match scene.get() {
41+
match scene {
4242
Scene::ClientsList => rsx!(
4343
div { class: "crm",
4444
h2 { margin_bottom: "10px", "List of clients" }
@@ -51,8 +51,8 @@ fn app(cx: Scope) -> Element {
5151
})
5252
)
5353
}
54-
button { class: "pure-button pure-button-primary", onclick: move |_| scene.set(Scene::NewClientForm), "Add New" }
55-
button { class: "pure-button", onclick: move |_| scene.set(Scene::Settings), "Settings" }
54+
button { class: "pure-button pure-button-primary", onclick: move |_| set_scene(Scene::NewClientForm), "Add New" }
55+
button { class: "pure-button", onclick: move |_| set_scene(Scene::Settings), "Settings" }
5656
}
5757
),
5858
Scene::NewClientForm => rsx!(
@@ -63,19 +63,19 @@ fn app(cx: Scope) -> Element {
6363
class: "new-client firstname",
6464
placeholder: "First name",
6565
value: "{firstname}",
66-
oninput: move |e| firstname.set(e.value.clone())
66+
oninput: move |e| set_firstname(e.value.clone())
6767
}
6868
input {
6969
class: "new-client lastname",
7070
placeholder: "Last name",
7171
value: "{lastname}",
72-
oninput: move |e| lastname.set(e.value.clone())
72+
oninput: move |e| set_lastname(e.value.clone())
7373
}
7474
textarea {
7575
class: "new-client description",
7676
placeholder: "Description",
7777
value: "{description}",
78-
oninput: move |e| description.set(e.value.clone())
78+
oninput: move |e| set_description(e.value.clone())
7979
}
8080
}
8181
button {
@@ -86,13 +86,13 @@ fn app(cx: Scope) -> Element {
8686
first_name: (*firstname).clone(),
8787
last_name: (*lastname).clone(),
8888
});
89-
description.set(String::new());
90-
firstname.set(String::new());
91-
lastname.set(String::new());
89+
set_description(String::new());
90+
set_firstname(String::new());
91+
set_lastname(String::new());
9292
},
9393
"Add New"
9494
}
95-
button { class: "pure-button", onclick: move |_| scene.set(Scene::ClientsList),
95+
button { class: "pure-button", onclick: move |_| set_scene(Scene::ClientsList),
9696
"Go Back"
9797
}
9898
}
@@ -108,7 +108,7 @@ fn app(cx: Scope) -> Element {
108108
}
109109
button {
110110
class: "pure-button pure-button-primary",
111-
onclick: move |_| scene.set(Scene::ClientsList),
111+
onclick: move |_| set_scene(Scene::ClientsList),
112112
"Go Back"
113113
}
114114
}

examples/disabled.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ fn main() {
55
}
66

77
fn app(cx: Scope) -> Element {
8-
let disabled = use_state(&cx, || false);
8+
let (disabled, set_disabled) = use_state(&cx, || false);
99

1010
cx.render(rsx! {
1111
div {
1212
button {
13-
onclick: move |_| disabled.set(!disabled.get()),
14-
"click to " [if **disabled {"enable"} else {"disable"} ] " the lower button"
13+
onclick: move |_| set_disabled(!disabled),
14+
"click to " [if *disabled {"enable"} else {"disable"} ] " the lower button"
1515
}
1616

1717
button {

examples/dog_app.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ fn app(cx: Scope) -> Element {
2424
.await
2525
});
2626

27-
let selected_breed = use_state(&cx, || None);
27+
let (breed, set_breed) = use_state(&cx, || None);
2828

2929
match fut.value() {
3030
Some(Ok(breeds)) => cx.render(rsx! {
@@ -36,14 +36,14 @@ fn app(cx: Scope) -> Element {
3636
breeds.message.keys().map(|breed| rsx!(
3737
li {
3838
button {
39-
onclick: move |_| selected_breed.set(Some(breed.clone())),
39+
onclick: move |_| set_breed(Some(breed.clone())),
4040
"{breed}"
4141
}
4242
}
4343
))
4444
}
4545
div { flex: "50%",
46-
match selected_breed.get() {
46+
match breed {
4747
Some(breed) => rsx!( Breed { breed: breed.clone() } ),
4848
None => rsx!("No Breed selected"),
4949
}
@@ -73,9 +73,9 @@ fn Breed(cx: Scope, breed: String) -> Element {
7373
reqwest::get(endpoint).await.unwrap().json::<DogApi>().await
7474
});
7575

76-
let breed_name = use_state(&cx, || breed.clone());
77-
if breed_name.get() != breed {
78-
breed_name.set(breed.clone());
76+
let (name, set_name) = use_state(&cx, || breed.clone());
77+
if name != breed {
78+
set_name(breed.clone());
7979
fut.restart();
8080
}
8181

examples/framework_benchmark.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ impl Label {
3333

3434
fn app(cx: Scope) -> Element {
3535
let items = use_ref(&cx, Vec::new);
36-
let selected = use_state(&cx, || None);
36+
let (selected, set_selected) = use_state(&cx, || None);
3737

3838
cx.render(rsx! {
3939
div { class: "container",
@@ -71,7 +71,7 @@ fn app(cx: Scope) -> Element {
7171
rsx!(tr { class: "{is_in_danger}",
7272
td { class:"col-md-1" }
7373
td { class:"col-md-1", "{item.key}" }
74-
td { class:"col-md-1", onclick: move |_| selected.set(Some(id)),
74+
td { class:"col-md-1", onclick: move |_| set_selected(Some(id)),
7575
a { class: "lbl", item.labels }
7676
}
7777
td { class: "col-md-1",

examples/hydration.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ fn main() {
2020
}
2121

2222
fn app(cx: Scope) -> Element {
23-
let val = use_state(&cx, || 0);
23+
let (val, set_val) = use_state(&cx, || 0);
2424

2525
cx.render(rsx! {
2626
div {
2727
h1 { "hello world. Count: {val}" }
2828
button {
29-
onclick: move |_| *val.modify() += 1,
29+
onclick: move |_| set_val(val + 1),
3030
"click to increment"
3131
}
3232
}

examples/pattern_reducer.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@ fn main() {
1515
}
1616

1717
fn app(cx: Scope) -> Element {
18-
let state = use_state(&cx, PlayerState::new);
18+
let (state, set_state) = use_state(&cx, PlayerState::new);
1919

2020
cx.render(rsx!(
2121
div {
2222
h1 {"Select an option"}
2323
h3 { "The radio is... " [state.is_playing()] "!" }
24-
button { onclick: move |_| state.modify().reduce(PlayerAction::Pause),
24+
button { onclick: move |_| set_state.make_mut().reduce(PlayerAction::Pause),
2525
"Pause"
2626
}
27-
button { onclick: move |_| state.modify().reduce(PlayerAction::Play),
27+
button { onclick: move |_| set_state.make_mut().reduce(PlayerAction::Play),
2828
"Play"
2929
}
3030
}

examples/readme.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ fn main() {
99
}
1010

1111
fn app(cx: Scope) -> Element {
12-
let count = use_state(&cx, || 0);
12+
let (count, set_count) = use_state(&cx, || 0);
1313

1414
cx.render(rsx! {
1515
div {
1616
h1 { "High-Five counter: {count}" }
17-
button { onclick: move |_| *count.modify() += 1, "Up high!" }
18-
button { onclick: move |_| *count.modify() -= 1, "Down low!" }
17+
button { onclick: move |_| set_count(count + 1), "Up high!" }
18+
button { onclick: move |_| set_count(count - 1), "Down low!" }
1919
}
2020
})
2121
}

examples/rsx_compile_fail.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ fn main() {
1212
}
1313

1414
fn example(cx: Scope) -> Element {
15-
let items = use_state(&cx, || {
15+
let (items, _set_items) = use_state(&cx, || {
1616
vec![Thing {
1717
a: "asd".to_string(),
1818
b: 10,

examples/tasks.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ fn main() {
1010
}
1111

1212
fn app(cx: Scope) -> Element {
13-
let count = use_state(&cx, || 0);
13+
let (count, set_count) = use_state(&cx, || 0);
1414

1515
use_future(&cx, move || {
16-
let mut count = count.for_async();
16+
let set_count = set_count.to_owned();
1717
async move {
1818
loop {
1919
tokio::time::sleep(Duration::from_millis(1000)).await;
20-
count += 1;
20+
set_count.modify(|f| f + 1);
2121
}
2222
}
2323
});
@@ -26,7 +26,7 @@ fn app(cx: Scope) -> Element {
2626
div {
2727
h1 { "Current count: {count}" }
2828
button {
29-
onclick: move |_| count.set(0),
29+
onclick: move |_| set_count(0),
3030
"Reset the count"
3131
}
3232
}

0 commit comments

Comments
 (0)