pub fn use_context_or_else<T, F>(f: F) -> Twhere T: Clone + 'static, F: FnOnce() -> T,
Try to get a context with the given type. If no context is found, returns the value of the function and sets the value of the context in the current scope.