Comment by davedx

Comment by davedx 2 days ago

17 replies

> Breaking backward compatibility isn't collateral damage, it's the point.

LOL, if you say so.

Honestly, I don't know how anyone decides to build something on top of the software the react router team puts out. I went through approximately 2 major version upgrades of react router then decided I was done with it unless I had no other choice.

Why do people think being left with huge upgrade tech debt time and time again is worthwhile? There are just so many other choices out there these days. Why you'd choose this "different future" now is beyond me.

codinhood 2 days ago

It's kinda wild to take something people really like and just keep re-writing it while keeping the same name.

They were around when Angular 1 -> Angular 2 right? No one liked that. Angular 2 is good but calling it Angular 2 when it was so different put a bad taste in everyone's mouth.

Google did that because they wanted the Angular userbase, but that alienated a bunch devs and many decided to switch to React (me included) instead.

Seems the remix/react router team is trying to do the same. They built something popular, and they want to use that to launch their new ideas.

They want to have their cake and eat it too, a built in userbase and explore new ideas. I get it, but why not use another name so people don't get confused or frustrated?

It's just exhausting

  • Tade0 2 days ago

    > Google did that because they wanted the Angular userbase

    I'm okay with that, because when it came out I was considered part of the Angular workforce, so I was hired to work with a framework I knew very little about at the time.

  • 0xblinq a day ago

    The reason is simple.

    These guys are really, really obsessed with download counts. They brag a lot about that in twitter every time they have a chance.

    What they want to reuse is the package name.

    So now they launch whatever bullshit they are playing with now under the “remix” package and the next day they’ll say “look… we have N thousands downloads per second!!! We are so successful”

    They did this multiple times. And will keep doing it because they are obsessed with this.

  • politelemon 2 days ago

    It seems angular learned from it early on because upgrades have been a quiet affair since then. React seem to be set on repeatedly learning it.

    • aloha2436 2 days ago

      React itself is still the same fundamental product, not something you can say for Remix or Angular.

Waterluvian 2 days ago

Yeah, React Router keeps changing and keeps not quite feeling right. Like they make bad abstractions and then get trapped by them.

We’re looking at Tanstack Router when we get around to it.

  • jakubmazanec 2 days ago

    TanStack Router builds on those failed iterations of React Router. Good software design is iterative.

dimal 2 days ago

I went through the same pain with React Router. I would never consider using Remix or anything else from this team. It doesn't matter how great it might be or how much I might agree with the architectural principles. Who knows what shiny new idea they'll be chasing in Remix 4? I'd have to be crazy to trust them.

dobladov 2 days ago

This is my feel as well, I have to maintain a somewhat complex custom SSR, and each update of react-router has been a pain, basically when they moved from using regex URLs to simpler paths, it was a reasonable decision, but the docs of the new supported patters were lacking, newer docs versions are barely searchable, or directly you won't find mentions to some existing APIs anywhere.

I tried their "get started" project with the newly typed routes, and it feels too complex, and unintuitive, the purpose of a framework is to make your life easier, and it's sad to see people with this much talent missing the goal, I won't be using react-router for future projects.

0x3f 2 days ago

Honestly, it was often that I just hated NextJS enough to deal with the schlep of the Remix/RR churn.

But now TanStack Start is a thing, so they've lost the 'only viable alternative' angle.

[removed] 2 days ago
[deleted]
Tadpole9181 a day ago

I know this isn't particularly on-topic, but I find it fascinating how much this sentence now jostles me.

Reading the article as a whole feels like it was written by a person, but the moment I see this, the "it's not X, it's Y" pattern matching my brain has developed for LLM speech kicks in and I suddenly feel a negative bias toward the content.

  • d13z a day ago

    I read here some time ago an article of how LLM generated content is the new nylon/lycra. In the 80's this fabric was all the rage but now it just feel cheaper. The same happens to me when people quote something an LLM told them as a big true.

jakubmazanec 2 days ago

React Router v4 was released in March 2017 (more than 8 years ago!). v5 was released in May 2019 with no API changes. v6 was released in November 2021 with a new API based on React hooks (this API was much better than the previous). v7 was released in November 2024 with the "Remix" APIs (most importantly the "framework mode"). So, the gaps are 4 years and 3 years - that's doesn't seem that crazy.

  • philipallstar a day ago

    It's a bit crazy. Why ever change it? Imagine if Bash changed every four years, or really anything else that isn't a JS library.

    • jakubmazanec a day ago

      > Why ever change it.

      Because e.g. 1) defining routes using React components isn't good idea, because then you have to first render the app before you know which routes are defined; 2) It's useful to be able to specify what data a route needs. 3) React moved to hooks because they compose better; Etc. The APIs were reworked (but only a few times over many years) so they could be better. Software design is iterative and that's what the major version number in SemVer is for.

  • [removed] a day ago
    [deleted]