Returns a resolved URL path for the specified route.
Param values are percent-encoded for use in a path segment: characters that
would change the URL structure (/, ?, #, %, whitespace, non-ASCII)
are escaped, while characters that RFC 3986 allows literally in a path
segment ($ & + , ; = : @) are kept as-is. Note this differs from query-string
encoding (encodeURIComponent/URLSearchParams), where those characters are
delimiters and must be escaped. Splat (*) values are encoded per segment,
preserving / separators.
See RFC 3986 §3.3
const h = href("/:lang?/about", { lang: "en" })
// -> `/en/about`
<Link to={href("/products/:id", { id: "abc123" })} />
function href<Path extends keyof Args>(
path: Path,
...args: Args[Path]
): string
The route path to resolve
The route params to use when resolving the path
The resolved URL path