diff --git a/packages/router/src/hooks/use_navigator.rs b/packages/router/src/hooks/use_navigator.rs index 57a3bd3b8..1207b1fb2 100644 --- a/packages/router/src/hooks/use_navigator.rs +++ b/packages/router/src/hooks/use_navigator.rs @@ -2,7 +2,7 @@ use dioxus_lib::prelude::{try_consume_context, use_hook}; use crate::prelude::{Navigator, RouterContext}; -/// A hook that provides access to the navigator to change the router history. Unlike [`use_router`], this hook will not cause a rerender when the current route changes +/// A hook that provides access to the navigator to change the router history. /// /// > The Routable macro will define a version of this hook with an explicit type. /// @@ -26,7 +26,7 @@ use crate::prelude::{Navigator, RouterContext}; /// /// #[component] /// fn Index() -> Element { -/// let navigator = use_navigator(&cx); +/// let navigator = use_navigator(); /// /// rsx! { /// button { diff --git a/packages/router/src/hooks/use_route.rs b/packages/router/src/hooks/use_route.rs index 7a9942bd1..d0c66ebfb 100644 --- a/packages/router/src/hooks/use_route.rs +++ b/packages/router/src/hooks/use_route.rs @@ -5,12 +5,8 @@ use crate::utils::use_router_internal::use_router_internal; /// /// > The Routable macro will define a version of this hook with an explicit type. /// -/// # Return values -/// - None, when not called inside a [`Link`] component. -/// - Otherwise the current route. -/// /// # Panic -/// - When the calling component is not nested within a [`Link`] component during a debug build. +/// - When the calling component is not nested within a [`Router`] component. /// /// # Example /// ```rust @@ -49,7 +45,7 @@ pub fn use_route() -> R { match use_router_internal() { Some(r) => r.current(), None => { - panic!("`use_route` must have access to a parent router") + panic!("`use_route` must be called in a descendant of a Router component") } } } diff --git a/packages/router/src/utils/use_router_internal.rs b/packages/router/src/utils/use_router_internal.rs index 441063cbe..04853233c 100644 --- a/packages/router/src/utils/use_router_internal.rs +++ b/packages/router/src/utils/use_router_internal.rs @@ -8,10 +8,10 @@ use crate::prelude::*; /// single component, but not recommended. Multiple subscriptions will be discarded. /// /// # Return values -/// - [`None`], when the current component isn't a descendant of a [`Link`] component. +/// - [`None`], when the current component isn't a descendant of a [`Router`] component. /// - Otherwise [`Some`]. pub(crate) fn use_router_internal() -> Option { - let router = use_hook(consume_context::); + let router = try_consume_context::()?; let id = current_scope_id().expect("use_router_internal called outside of a component"); use_drop({ to_owned![router];