Thinking In Web State With React Router 7
Remix is Dead, Long Live Remix!
What was once Remix has been merged into React Router v7. Even though the mental models I learned from Remix are still available via React Router, it's going to be a bit difficult to accept that Remix as its own framework is no more.
But with this transition, the concepts that Remix introduced, loaders, actions, forms, and a dataflow rooted firmly in the web, are no longer hidden away in a niche framework. Now, as part of React Router itself, they have a chance to reach a much large audience.
Remix didn't really invent any new concepts, it just leaned heavly into the web. Loaders are GET requests, actions are POST requests, forms are just html forms, and cookies are just HTTP. To paraphrase Ryan Florence, thinking in terms of Remix (now React Router) is just thinking in terms of web fundamentals.
When you think of it like this, "state" in React Router naturally falls into three Layers:
| URL as State | params + query | 
| Server as State | loaders + actions | 
| Persistence as State | cookies + sessions |