Try to rerun all dirty scopes before polling any tasks to fix effect ordering
This commit is contained in:
1 parent
47e46de74f
commit
701093ede5
4 files changed
+90
-28
No files matched your search
+30
-13
@@ -14,22 +14,39 @@ fn app() -> Element {
|
||||
rsx! {
|
||||
div {
|
||||
button { onclick: move |_| counters.write().push(0), "Add counter" }
|
||||
button { onclick: move |_| { counters.write().pop(); }, "Remove counter" }
|
||||
button {
|
||||
onclick: move |_| {
|
||||
counters.write().pop();
|
||||
},
|
||||
"Remove counter"
|
||||
}
|
||||
p { "Total: {sum}" }
|
||||
for (i, counter) in counters.read().iter().enumerate() {
|
||||
li {
|
||||
button { onclick: move |_| counters.write()[i] -= 1, "-1" }
|
||||
input {
|
||||
value: "{counter}",
|
||||
oninput: move |e| {
|
||||
if let Ok(value) = e.value().parse::<usize>() {
|
||||
counters.write()[i] = value;
|
||||
}
|
||||
}
|
||||
for i in 0..counters.len() {
|
||||
Child { i, counters }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[component]
|
||||
fn Child(i: usize, counters: Signal<Vec<usize>>) -> Element {
|
||||
rsx! {
|
||||
li {
|
||||
button { onclick: move |_| counters.write()[i] -= 1, "-1" }
|
||||
input {
|
||||
value: "{counters.read()[i]}",
|
||||
oninput: move |e| {
|
||||
if let Ok(value) = e.value().parse::<usize>() {
|
||||
counters.write()[i] = value;
|
||||
}
|
||||
button { onclick: move |_| counters.write()[i] += 1, "+1" }
|
||||
button { onclick: move |_| { counters.write().remove(i); }, "x" }
|
||||
}
|
||||
}
|
||||
button { onclick: move |_| counters.write()[i] += 1, "+1" }
|
||||
button {
|
||||
onclick: move |_| {
|
||||
counters.write().remove(i);
|
||||
},
|
||||
"x"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user