diff --git a/packages/router-macro/src/route_tree.rs b/packages/router-macro/src/route_tree.rs index 27b622919..171b6a042 100644 --- a/packages/router-macro/src/route_tree.rs +++ b/packages/router-macro/src/route_tree.rs @@ -187,13 +187,16 @@ impl<'a> RouteTree<'a> { let nest = self.entries.insert(nest); let segments = match current_route.and_then(|id| self.get_mut(id)) { Some(RouteTreeSegmentData::Static { children, .. }) => children, - Some(r) => unreachable!("{r:?} is not a static segment"), + Some(RouteTreeSegmentData::Nest { children, .. }) => children, + Some(r) => { + unreachable!("{current_route:?}\n{r:?} is not a static or nest segment",) + } None => &mut segments, }; segments.push(nest); // Update the current route - current_route = segments.last().cloned(); + current_route = Some(nest); } match route.next_static_segment() { diff --git a/packages/router/src/history/web.rs b/packages/router/src/history/web.rs index d2f4a5bae..f7bd59dfa 100644 --- a/packages/router/src/history/web.rs +++ b/packages/router/src/history/web.rs @@ -160,6 +160,7 @@ impl WebHistory { ); let current_route = myself.current_route(); + log::trace!("initial route: {:?}", current_route); let current_url = current_route.to_string(); let state = myself.create_state(current_route); let _ = replace_state_with_url(&myself.history, &state, Some(¤t_url));