Add lazy contexts to signals
This commit is contained in:
5 files changed
+40
-6
No files matched your search
@@ -79,3 +79,6 @@ pub use usecallback::*;
|
||||
|
||||
mod usememo;
|
||||
pub use usememo::*;
|
||||
|
||||
mod userootcontext;
|
||||
pub use userootcontext::*;
|
||||
@@ -0,0 +1,9 @@
|
||||
use dioxus_core::ScopeState;
|
||||
|
||||
///
|
||||
pub fn use_root_context<T: 'static + Clone>(cx: &ScopeState, new: impl FnOnce() -> T) -> &T {
|
||||
cx.use_hook(|| {
|
||||
cx.consume_context::<T>()
|
||||
.unwrap_or_else(|| cx.provide_root_context(new()))
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user