Does react-router support relative links?

in react-router v4 relative paths are supported. The history library resolves relative paths ‘just like a browser would’ so that a

<Link to="two" />

or a

history.push({ pathname: '..', search: 'foo=bar' });

at the url site.com/path/one will redirect to site.com/path/two and site.com/three?foo=bar.

However NavLink does not work with relative pathnames because it doesn’t resolve it’s own relative path (which is nontrivial to do). However there are some community packages for this, but I haven’t tested them.

Alternatively, and this is what I do, you can get a match object from your parent Route (or from the context router.route.match) and use it to build your relative to in NavLink:

<NavLink to={`${match.url}/three`} />

this way your component can work independent of it’s parent Route(s).

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)