TanStackT
TanStack7mo ago
10 replies
moderate-tomato

Tearing my hair out... route groups misunderstanding? );

I've read and re-read the docs as well as cloned and looked through the nv-rental-clone demo app from @Sean Cassiere but I can't figure out why my routes with route groups won't render properly.

For context, simple routing stuff was working, but we want to use slugs for some things so I overhauled the structure some to try and use more best practices.

The screenshot shows my current layout.

For /login I get the _public wrapper rendered, but not the login.tsx page. I tried giving the exact match /login._index.tsx a wrapper (/login.tsx) with an outlet (thanks grok) and that didn't work either :worryCryHands:

For /properties I get an error:
Invariant failed: Could not find an active match from "/(properties)/(properties)"

I've gone over my __root.tsx,_auth.tsx, _public.tsx (which is just an outlet basically), and my main.tsx and auth.tsx are also set up properly (pretty sure anyways). No idea where this problem comes from. I did notice one thing:
- In Sean's app, he uses this syntax for exact path matching:
file agreements._index.tsx -> createFileRoute("/_auth/(agreements)/agreements/")
(this format is shown in the docs in index routes)
- However, when I try to type the path, I get an autocomplete suggestion for this format:
file properties._index.tsx -> createFileRoute("/_public/(properties)/properties/_index")

Not sure if that has anything to do with why my route groups aren't working, but I'm at a loss about what's going on at this point. I'm happy to share code if someone thinks the problem is in a certain file.
Any insight is appreciated... I feel like there has to be some config setting or something simple that I'm doing wrong :angryredgoobler:
Screenshot_2025-06-22_at_6.48.09_PM.png
Was this page helpful?