Remix.run Logo
CooCooCaCha 4 days ago

What I don’t get is why I’d use it if I can’t write a reasonable complex SPA with it.

React is easy for small websites so why would I use a separate framework when I can use one framework for everything?

WorldMaker 4 days ago | parent | next [-]

What's your decision tree for when you feel you need a SPA in 2025?

At least some of what you may not be getting in this space is how many developers right now seem to be hugely deprioritizing or just dropping SPA from their decision trees lately. Recent advances in CSS and ESM and Web Components such as View Transitions and vanilla/small-framework JS (ESM) tree-shaking/"unbundling"/importmaps give MPAs more of the benefits of a complex SPA with fewer of the downsides (less of a "mandatory" build process, smaller initial bundle load). It is easy to feel less of a need for "complex SPA" to be on your architecture options board.

mixmastamyk 4 days ago | parent | prev | next [-]

I recently tried a hello-world in react. It made ten network requests on page load and probably had a sizable first download. That’s why web pages are so slow today.

CooCooCaCha 4 days ago | parent [-]

Hello world in react is just a few lines of code that mounts a react component to a dom element. There should be zero network requests beyond the initial download of html and js.

You’re either doing something wrong or not actually doing a hello world.

mixmastamyk 4 days ago | parent [-]

I don’t know but vite was involved, looks like it was setting up live updates. This is part of the problem, you can’t just include a script apparently.

iloveplants 4 days ago | parent | next [-]

vite adds additional things to your page in dev so that it's easier to debug. when you are running it in production, it is just one js bundle & one css file.

afavour 4 days ago | parent | prev | next [-]

That’s just Vite’s dev mode. I think React is way overused but your example here is a bad one. You just weren’t aware what the dev tool was doing, it has nothing to do with the experience end users will have. It isn’t even anything to do with React.

NewsaHackO 4 days ago | parent | prev [-]

Was it in Dev mode?

krzyk 4 days ago | parent | prev [-]

> What I don’t get is why I’d use it if I can’t write a reasonable complex SPA with it.

Because most webpages don't need to be SPAs. I miss the days of jquery and html+css, where everything was snappy, and wasn't an SPA.

CooCooCaCha 4 days ago | parent [-]

Plain react is arguably just as simple if not simpler than jquery.

And I’m not saying every site needs to be an SPA. I’m saying if I can write everything from a simple site to an SPA in a single framework then why not use that for everything?

H1Supreme 4 days ago | parent [-]

How do you handle routing with plain React?

codedokode 3 days ago | parent | next [-]

React is an implementation of View component of MVC, View is responsible for displaying Model contents, not for handling routes. You are trying to use the wrong tool.

CooCooCaCha 4 days ago | parent | prev [-]

Using built-in browser apis. Not sure what you’re getting at.