Next.js is awesome. However, its routing system isn't for me. IMHO React Router is a better foundation upon which such a framework should be built, and that's the goal here. Routes are just components and don't / should not have anything to do with folder structure. Static route configs are fine. Next.js's getInitialProps was/is a brilliant idea. Route-based code-splitting should come for free or be easy to opt into. Route-based transitions/analytics/data loading/preloading etc., should either come for free or be trivial to implement on your own. After.js enables Next. js-like data fetching with any React SSR app that uses React Router. You can quickly bootstrap an SSR React app with After.js using Razzle. While Razzle is not required, this documentation assumes you have the tooling setup for an isomorphic React application. Refer to Razzle's docs for tooling, babel, and webpack customization.
Features
- You can extend ctx, and pass your custom params to it
- As you have probably figured out, React Router powers all of After.js's routing
- You can use any and all parts of RR
- By default, after.js will wait for getInitialProps to get resolved or rejected
- React Router can detect No Match (404) Routes and show a fallback component
- You can define your custom fallback component in routes.js file