From fcbd260f1a2a45c70250a16d69c27b8918ee411a Mon Sep 17 00:00:00 2001 From: Jonathan Kelley Date: Sat, 2 Jul 2022 23:17:48 -0400 Subject: [PATCH] chore: clean up example a bit more --- examples/all_events.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/examples/all_events.rs b/examples/all_events.rs index e34f56698..77f7d9a22 100644 --- a/examples/all_events.rs +++ b/examples/all_events.rs @@ -41,9 +41,16 @@ const RECT_STYLE: &str = r#" "#; fn app(cx: Scope) -> Element { - let events = use_ref(&cx, Vec::new); + let events = use_ref(&cx, std::collections::VecDeque::new); - let log_event = move |event: Event| events.write().push(event); + let log_event = move |event: Event| { + let mut events = events.write(); + + if events.len() >= MAX_EVENTS { + events.pop_front(); + } + events.push_back(event); + }; cx.render(rsx! ( div { @@ -71,13 +78,7 @@ fn app(cx: Scope) -> Element { "Hover, click, type or scroll to see the info down below" } div { - events - .read() - .iter() - .rev() - .take(MAX_EVENTS) - .rev() - .map(|event| cx.render(rsx!(div {"{event:?}"}))) + events.read().iter().map(|event| rsx!( div { "{event:?}" } )) }, }, ))