Router segment wildcards don't match when no segment is provided
ollelogdahl opened this issue · 1 comments
ollelogdahl commented
Describe the bug
When trying to resolve a subrouter that has a /
path, it fails.
To Reproduce
Steps to reproduce the behavior:
function Ok() {
return (
<p>Ok</p>
)
}
function Inner() {
return (
<Router>
<Route path='/' component={Ok} />
<Route path='/a' component={Ok} />
</Router>
)
}
function Outer() {
return (
<LocationProvider>
<Router>
<Inner path='/more/*' />
<Inner path='/*' />
</Router>
</LocationProvider>
)
}
render(<Outer />, document.body);
Expected behavior
I expect /
in a subrouter to resolve if there is no extention to what the outer router matched.
/
Should resolve/a
Should resolve/more
Should resolve/more/a
Should resolve
Only /a
and /more/a
resolves at the moment.
Bug occurs with:
Just using preact-iso in dev-mode.
Desktop (please complete the following information):
- OS: Linux
- Browser: Firefox
- Node Version: 18.19.1
- WMR Version: preact-iso@2.3.1
rschristian commented
Personally, I'd call this behavior correct. /
and /*
are two different patterns and should be handled as such.