Post

the premise is either "nothing happens" or "show the next page's loading shell" - but there exist other ways to solve the problem without either of those (imo) flawed approaches. this is one core motivation of my upcoming rsc framework.

0 reposts1 like

i feel like you're implying there's some kind of conspiracy around loading.tsx, which is not the case :) the issue you linked has nothing to do with loading.tsx per se. it's just a bug in the router which accidentally correlated with having it in that specific repro case

i see! i’d say the post intro describes two ends of the spectrum, but the actual model described in the post is more flexible. it’s more like ability to enforce which navigations have no async gap. having a guarantee like this is important, especially if routes need to work offline or w/ bad latency

I agree, the instant navigation is an interesting mechanism – this is effectively closing the "SPA" gap that the app router hasn't historically supported (where the whole router is navigable without internet). But it's still focused on shells and loading states, when I think that's missing the mark

Next and my framework are ultimately building for ever so slightly divergent use cases and mental models. I'm excited to share my ideas though, I believe I have some interesting stuff packed in here.