Fixed Signal::with not being reactive.

This commit is contained in:
Filipe Rodrigues 2024-02-04 02:42:13 +00:00
parent 87995f05b9
commit eb5769fd03
Signed by: zenithsiz
SSH Key Fingerprint: SHA256:Mb5ppb3Sh7IarBO/sBTXLHbYEOz37hJAlslLQPPAPaU

View File

@ -42,14 +42,7 @@ impl<T> Signal<T> {
where
T: Copy,
{
if let Some(effect) = Effect::running() {
self.add_subscriber(effect);
}
self.inner
.try_borrow()
.expect("Cannot get signal value while updating")
.value
self.with(|value| *value)
}
/// Calls `f` with the inner value
@ -58,6 +51,10 @@ impl<T> Signal<T> {
where
F: FnOnce(&T) -> O,
{
if let Some(effect) = Effect::running() {
self.add_subscriber(effect);
}
let inner = self.inner.try_borrow().expect("Cannot use signal value while updating");
f(&inner.value)
}