use dioxus::prelude::*; fn main() { dioxus_desktop::launch(app); } fn app(cx: Scope) -> Element { let count = if cx.generation() % 2 == 0 { 10 } else { 0 }; println!("Generation: {}", cx.generation()); if cx.generation() < 10 { cx.needs_update(); } render! { (0..count).map(|_| rsx!{ drop_child {} }) } } fn drop_child(cx: Scope) -> Element { cx.use_hook(|| Drops); render! { div{} } } struct Drops; impl Drop for Drops { fn drop(&mut self) { println!("Dropped!"); } }