Yesterday we learned how to create pathless layout routes, which means we can share a layout between routes without sharing the URL routes.
Let's look at how the opposite would work, nested URLs, but without the nested layout.
Let's take our new post, for example.
The current URL structure is like this:
This is great, but the layout is shared like this:
- root -- admin --- posts ---- new
What happens if we want this to be a page on its own without inheriting all the layout hierarchy?
- root -- admin --- new
Segmented URLs in Remix
This is where segmented URLs come in super handy. We can segment a URL with dots to replicate the URL nesting but not take the styling.
In our case, we can move the
new.tsx file to our admin folder and rename it to:
If we run our application, our URL will remain the same, but we don't see the
posts layout stuff, only the admin layout.
You can even make this multi-level. Let's see what happens if we move the
posts.new.tsx file one level up and rename it to
As you can see, Remix can support all kinds of use-cases. You can even use dynamic parameters within these segmented URLs.
We can make all kinds of routes and layout hierarchies between this and the ability to use pathless routes.
You can find this article's code on GitHub.