add read untracked to signals
This commit is contained in:
1 parent
d4e6876ff6
commit
c5e647e97d
1 file changed
+13
@@ -200,6 +200,13 @@ impl<T: 'static> Signal<T> {
|
|||||||
Ref::map(inner, |v| &v.value)
|
Ref::map(inner, |v| &v.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get the current value of the signal. **Unlike read, this will not subscribe the current scope to the signal which can cause parts of your UI to not update.**
|
||||||
|
/// If the signal has been dropped, this will panic.
|
||||||
|
pub fn read_untracked(&self) -> Ref<T> {
|
||||||
|
let inner = self.inner.read();
|
||||||
|
Ref::map(inner, |v| &v.value)
|
||||||
|
}
|
||||||
|
|
||||||
/// Get a mutable reference to the signal's value.
|
/// Get a mutable reference to the signal's value.
|
||||||
/// If the signal has been dropped, this will panic.
|
/// If the signal has been dropped, this will panic.
|
||||||
pub fn write(&self) -> Write<'_, T> {
|
pub fn write(&self) -> Write<'_, T> {
|
||||||
@@ -385,6 +392,12 @@ impl<T: 'static> ReadOnlySignal<T> {
|
|||||||
self.inner.read()
|
self.inner.read()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Get the current value of the signal. **Unlike read, this will not subscribe the current scope to the signal which can cause parts of your UI to not update.**
|
||||||
|
/// If the signal has been dropped, this will panic.
|
||||||
|
pub fn read_untracked(&self) -> Ref<T> {
|
||||||
|
self.inner.read_untracked()
|
||||||
|
}
|
||||||
|
|
||||||
/// Run a closure with a reference to the signal's value.
|
/// Run a closure with a reference to the signal's value.
|
||||||
pub fn with<O>(&self, f: impl FnOnce(&T) -> O) -> O {
|
pub fn with<O>(&self, f: impl FnOnce(&T) -> O) -> O {
|
||||||
self.inner.with(f)
|
self.inner.with(f)
|
||||||
|
|||||||
Reference in new issue
Block a user