preactjs/preact-router

Star wildcard works only in last "path" segment

Open

#62 opened on Aug 17, 2016

View on GitHub
 (2 comments) (0 reactions) (0 assignees)JavaScript (152 forks)github user discovery
help wanted

Repository metrics

Stars
 (1,055 stars)
PR merge metrics
 (PR metrics pending)

Description

It seems that * wildcard works only in the end of path and when it used with some path-parameter.

For example url /post/123/comments matches to route /post/:id*. And matches.id == "123/comments"

But if we use * in the middle of query it does not work:

const App = () => (
  <div class="app">
    <Header />
    <Router>
      <Home path="/*/" />
      <Profile path="/*/profile/:user?" />
      <Error type="404" default />
    </Router>
  </div>
);
const Header = () => (
  <header>
    <nav>
      <a href="/appRoot/">Home</a>
      <a href="/appRoot/profile">Profile</a>
      <a href="/appRoot/profile/john">John</a>
      <a href="/appRoot/asdf">Error</a>
    </nav>
  </header>
);

This config always show "404" page. See JSFiddle

Contributor guide