use super::*;
fn create_log_data(times: i32) -> String {
format!("Updated: render count = {times}")
}
pub(crate) fn use_lifecycle() -> UseLifecycle {
let times: i32 = 1;
UseLifecycle::new(
App::use_signal(|| times),
App::use_signal(|| vec![create_log_data(times)]),
)
}
pub(crate) fn lifecycle_on_trigger(state: UseLifecycle) -> Option<Rc<dyn Fn(Event)>> {
Some(Rc::new(move |_: Event| {
let current: i32 = state.get_render_count().get();
let next: i32 = current + 1;
state.get_render_count().set(next);
let mut current_logs: Vec<String> = state.get_logs().get();
current_logs.push(create_log_data(next));
state.get_logs().set(current_logs);
}))
}