wmr
wmr copied to clipboard
Router segment wildcards don't match when no segment is provided
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/aShould resolve/moreShould resolve/more/aShould 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: [email protected]
Personally, I'd call this behavior correct. / and /* are two different patterns and should be handled as such.