Skip to content

Router segment wildcards don't match when no segment is providedΒ #962

@ollelogdahl

Description

@ollelogdahl

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):

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions