Skip to content
Expo12 min read

Expo Router in anger: a year of file-system routing on native

What worked, what didn't, and the four times we almost ripped it out. Concrete code examples for deep links, modals, and tab persistence.

React NativeReact

We've shipped Expo Router in production for a year. This is what we learned, in the order we learned it.

The good

File-system routing on native turns out to be every bit as productive as it is on the web. Deep links Just Work. Modals Just Work. Tab persistence Just Works.

The not-so-good

Three places where we fought the framework:

  • Stack vs. modal navigation when a deep link lands mid-stack.
  • Auth gates that need to inspect the destination route before the layout renders.
  • Background restoration after a long-suspended app.

Would we do it again?

Yes — and we have, twice. The migration from React Navigation took a sprint. We're not going back.

Comments(0)

Sign in to join the conversation.

No comments yet. Be the first.