From 7daa945ae3a49f1170910d10cd41a9ce0f764909 Mon Sep 17 00:00:00 2001 From: Evan Almloff Date: Mon, 6 Nov 2023 18:54:35 -0600 Subject: [PATCH] fix effects --- packages/signals/src/rt.rs | 2 +- packages/signals/tests/effect.rs | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/signals/src/rt.rs b/packages/signals/src/rt.rs index 2e7244a5e..ddcb94b78 100644 --- a/packages/signals/src/rt.rs +++ b/packages/signals/src/rt.rs @@ -143,7 +143,7 @@ impl> CopyValue { /// Set the value. If the value has been dropped, this will panic. pub fn set(&self, value: T) { - *self.write() = value; + self.value.set(value); } /// Run a function with a reference to the value. If the value has been dropped, this will panic. diff --git a/packages/signals/tests/effect.rs b/packages/signals/tests/effect.rs index 513b7e929..f06f740f6 100644 --- a/packages/signals/tests/effect.rs +++ b/packages/signals/tests/effect.rs @@ -6,8 +6,8 @@ use dioxus::prelude::*; use dioxus_core::ElementId; use dioxus_signals::*; -#[test] -fn effects_rerun() { +#[tokio::test] +async fn effects_rerun() { simple_logger::SimpleLogger::new().init().unwrap(); #[derive(Default)] @@ -40,6 +40,8 @@ fn effects_rerun() { ); let _ = dom.rebuild().santize(); + dom.render_with_deadline(tokio::time::sleep(std::time::Duration::from_millis(100))) + .await; let current_counter = counter.borrow(); assert_eq!(current_counter.component, 1);