Merge branch 'master' into jk/documet-everything

This commit is contained in:
Jonathan Kelley committed 2022-02-26 17:33:06 -05:00
commit 77631bff1f
34 files changed
+891 -81

No files matched your search

+2 -1
View File
@@ -3,6 +3,7 @@ use std::{
cell::{Cell, Ref, RefCell, RefMut},
collections::HashSet,
rc::Rc,
sync::Arc,
};
type ProvidedState<T> = RefCell<ProvidedStateInner<T>>;
@@ -10,7 +11,7 @@ type ProvidedState<T> = RefCell<ProvidedStateInner<T>>;
// Tracks all the subscribers to a shared State
pub struct ProvidedStateInner<T> {
value: Rc<RefCell<T>>,
notify_any: Rc<dyn Fn(ScopeId)>,
notify_any: Arc<dyn Fn(ScopeId)>,
consumers: HashSet<ScopeId>,
}
+2 -2
View File
@@ -1,6 +1,6 @@
#![allow(missing_docs)]
use dioxus_core::{ScopeState, TaskId};
use std::{cell::Cell, future::Future, rc::Rc};
use std::{cell::Cell, future::Future, rc::Rc, sync::Arc};
/// A future that resolves to a value.
///
@@ -61,7 +61,7 @@ pub enum FutureState<'a, T> {
}
pub struct UseFuture<T> {
update: Rc<dyn Fn()>,
update: Arc<dyn Fn()>,
needs_regen: Cell<bool>,
value: Option<T>,
pending: bool,
+2 -1
View File
@@ -2,6 +2,7 @@ use dioxus_core::ScopeState;
use std::{
cell::{Ref, RefCell, RefMut},
rc::Rc,
sync::Arc,
};
/// `use_ref` is a key foundational hook for storing state in Dioxus.
@@ -121,7 +122,7 @@ pub fn use_ref<'a, T: 'static>(
/// A type created by the [`use_ref`] hook. See its documentation for more details.
pub struct UseRef<T> {
update: Rc<dyn Fn()>,
update: Arc<dyn Fn()>,
value: Rc<RefCell<T>>,
}
+2 -1
View File
@@ -5,6 +5,7 @@ use std::{
cell::{RefCell, RefMut},
fmt::{Debug, Display},
rc::Rc,
sync::Arc,
};
/// Store state between component renders.
@@ -69,7 +70,7 @@ pub fn use_state<'a, T: 'static>(
pub struct UseState<T: 'static> {
pub(crate) current_val: Rc<T>,
pub(crate) update_callback: Rc<dyn Fn()>,
pub(crate) update_callback: Arc<dyn Fn()>,
pub(crate) setter: Rc<dyn Fn(T)>,
pub(crate) slot: Rc<RefCell<Rc<T>>>,
}