You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Separating routes into a separate component works at the top level of <Routes />, but fails to compile when already inside a <ParentRoute/>.
Leptos Dependencies
Verified on main branch.
To Reproduce
The router example fails to compile when wrapping the <ContactRoutes/> component in an outer <ParentRoute/>. Simplified below:
Fails to compile.
#[component]pubfnRouterExample() -> implIntoView{view!{
<Router>
<Routes fallback=|| "404">
<ParentRoute path={path!("/foo")} view={|| view! { <Outlet /> }}>
<ContactRoutes/>
</ParentRoute>
</Routes>
</Router>
}}// You can define other routes in their own component.// Routes implement the MatchNestedRoutes#[component]pubfnContactRoutes() -> implMatchNestedRoutes<Dom> + Clone{view!{
<ParentRoute path=path!("") view={|| view! { <Outlet /> }}>
<Route path=path!("/") view=|| "Select a contact."/>
</ParentRoute>
}.into_inner()}
Compiles (ContactRoutes contents in place instead of separate component)
error[E0599]: the method `build` exists for struct `RoutesPropsBuilder<NestedRoute<(StaticSegment<&str>,), impl MatchNestedRoutes<Dom> + Clone, (), ..., ...>, ..., ..., ...>`, but its trait bounds were not satisfied
--> src/lib.rs:22:5
|
22 | view! {
| _____^
23 | | <Router>
24 | | <Routes fallback=|| "404">
25 | | <ParentRoute path={path!("/foo")} view={|| view! { <Outlet /> }}>
... |
29 | | </Router>
30 | | }
| |_____^ method cannot be called due to unsatisfied trait bounds
|
::: /Users/zak/z/code/leptos/router/src/components.rs:208:1
|
208 | #[component]
| ------------ doesn't satisfy `<_ as ReactiveFunction>::Output = _`, `_: ReactiveFunction` or `_: Render<_>`
|
::: /Users/zak/z/code/leptos/router/src/matching/nested/mod.rs:24:1
|
24 | pub struct NestedRoute<Segments, Children, Data, View, R> {
| --------------------------------------------------------- doesn't satisfy `_: MatchNestedRoutes<Dom>`
The text was updated successfully, but these errors were encountered:
zakstucke
changed the title
Nested routes don't compile when already inside ParentRoute.
Nested routes in separate component don't compile when already inside ParentRoute.
Sep 19, 2024
Describe the bug
Separating routes into a separate component works at the top level of
<Routes />
, but fails to compile when already inside a<ParentRoute/>
.Leptos Dependencies
Verified on main branch.
To Reproduce
The
router
example fails to compile when wrapping the<ContactRoutes/>
component in an outer<ParentRoute/>
. Simplified below:Fails to compile.
Compiles (ContactRoutes contents in place instead of separate component)
Error:
The text was updated successfully, but these errors were encountered: