From 3acd667fffecf67e25726853ac74c5d13fe55f8a Mon Sep 17 00:00:00 2001 From: Finn Bear Date: Thu, 19 Sep 2024 10:11:57 -0700 Subject: [PATCH] Revisions. --- packages/yew-router/src/lib.rs | 4 ---- packages/yew-router/src/router.rs | 7 ++++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/yew-router/src/lib.rs b/packages/yew-router/src/lib.rs index efb6e7841df..1cf262e21d8 100644 --- a/packages/yew-router/src/lib.rs +++ b/packages/yew-router/src/lib.rs @@ -88,10 +88,6 @@ pub mod history { AnyHistory, BrowserHistory, HashHistory, History, HistoryError, HistoryResult, Location, MemoryHistory, }; - - pub(crate) mod query { - pub(crate) use gloo::history::query::Raw; - } } pub mod prelude { diff --git a/packages/yew-router/src/router.rs b/packages/yew-router/src/router.rs index f0a1a61fa38..1eea8abec8a 100644 --- a/packages/yew-router/src/router.rs +++ b/packages/yew-router/src/router.rs @@ -2,10 +2,10 @@ use std::borrow::Cow; use std::rc::Rc; +use gloo::history::query::Raw; use yew::prelude::*; use yew::virtual_dom::AttrValue; -use crate::history::query::Raw; use crate::history::{AnyHistory, BrowserHistory, HashHistory, History, Location}; use crate::navigator::Navigator; use crate::utils::{base_url, strip_slash_suffix}; @@ -77,7 +77,8 @@ fn base_router(props: &RouterProps) -> Html { let basename = basename.map(|m| strip_slash_suffix(&m).to_string()); let navigator = Navigator::new(history.clone(), basename.clone()); - let old_basename = use_state_eq(|| Option::::None); + let old_basename = use_mut_ref(|| Option::::None); + let mut old_basename = old_basename.borrow_mut(); if basename != *old_basename { // If `old_basename` is `Some`, path is probably prefixed with `old_basename`. // If `old_basename` is `None`, path may or may not be prefixed with the new `basename`, @@ -86,7 +87,7 @@ fn base_router(props: &RouterProps) -> Html { history.clone(), old_basename.as_ref().or(basename.as_ref()).cloned(), ); - old_basename.set(basename.clone()); + *old_basename = basename.clone(); let location = history.location(); let stripped = old_navigator.strip_basename(Cow::from(location.path())); let prefixed = navigator.prefix_basename(&stripped);