make mapped signal readable

This commit is contained in:
Evan Almloff committed 2024-02-07 09:35:06 -06:00
1 parent 1af8f56e89
commit c8937cb4df
8 files changed
+176 -126

No files matched your search

+51
View File
@@ -0,0 +1,51 @@
#![allow(non_snake_case)]
use dioxus::prelude::*;
use dioxus_signals::Signal;
fn main() {
launch(app);
}
fn app() -> Element {
let mut vec = use_signal(|| vec![0]);
rsx! {
button {
onclick: move |_| {
let mut write = vec.write();
let len = write.len() as i32;
write.push(len);
},
"Create"
}
button {
onclick: move |_| {
vec.write().pop();
},
"Destroy"
}
for i in 0..vec.len() {
Child { count: vec.map(move |v| &v[i]) }
}
}
}
#[component]
fn Child(count: MappedSignal<i32, Signal<Vec<i32>>>) -> Element {
use_memo({
to_owned![count];
move || {
let value = count.read();
print!("Child value: {value}");
}
});
rsx! {
div {
"Child: {count}"
}
}
}