dependancies.rs 633 B

1234567891011121314151617181920212223242526272829
  1. use dioxus::prelude::*;
  2. fn main() {
  3. launch(app);
  4. }
  5. fn app() -> Element {
  6. let mut signal = use_signal(|| 0);
  7. use_future(move || async move {
  8. loop {
  9. tokio::time::sleep(std::time::Duration::from_secs(1)).await;
  10. signal += 1;
  11. }
  12. });
  13. let mut local_state = use_signal(|| 0);
  14. let computed = use_memo_with_dependencies((&local_state(),), move |(local_state,)| {
  15. local_state * 2 + signal.cloned()
  16. });
  17. println!("Running app");
  18. rsx! {
  19. button { onclick: move |_| local_state.set(local_state() + 1), "Add one" }
  20. div { "{computed}" }
  21. }
  22. }