use_root_context.rs 255 B

123456789
  1. use dioxus_core::ScopeState;
  2. ///
  3. pub fn use_root_context<T: 'static + Clone>(cx: &ScopeState, new: impl FnOnce() -> T) -> &T {
  4. cx.use_hook(|| {
  5. cx.consume_context::<T>()
  6. .unwrap_or_else(|| cx.provide_root_context(new()))
  7. })
  8. }