Skip to content

Commit

Permalink
docs: mention an edge case with mutliple optional params in the docs (#…
Browse files Browse the repository at this point in the history
…2192)

* docs: mention an edge case with mutliple optional params in the docs

See #2190 for more info.

* Update packages/docs/guide/essentials/route-matching-syntax.md

---------

Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com>
  • Loading branch information
panstromek and posva authored Jul 9, 2024
1 parent a495ce0 commit 305299f
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions packages/docs/guide/essentials/route-matching-syntax.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,13 @@ const routes = [

Note that `*` technically also marks a parameter as optional but `?` parameters cannot be repeated.

If the route segment contains more than **just an optional parameter**, it won't match a path **without the trailing slash**. For example:

- `/users/:uid?-:name?` won't match `/users`, only `/users/-` or even `/users/-/`
- `/users/:uid(\\d+)?:name? won't match `/users`, only `/users/`, `/users/2`, `/users/2/`, etc

You can play around with the matching syntax [in the playground](https://paths.esm.dev/?p=AAMsIPQg4AoKzidgQFoEXAmw-IEBBRYYOE0SkABTASiz1qgBpgQA1QTsFjAb3h2onsmlAmGIFsCXjXh4AIA.&t=/users/2/#)

## Debugging

If you need to dig how your routes are transformed into a regex to understand why a route isn't being matched or, to report a bug, you can use the [path ranker tool](https://paths.esm.dev/?p=AAMeJSyAwR4UbFDAFxAcAGAIJXMAAA..#). It supports sharing your routes through the URL.

0 comments on commit 305299f

Please sign in to comment.