Working on a JS application powered by React is amazing until you realize that there are a many problems related to rendering all the content on the client side.
Next.js reloads the web page whenever it detects any change saved to IDE and it takes no time.
Now before sending the html to the client, you can render React components on the server side first.
Any web url is mapped to the filesystem, to files put in the
pages folder, and you do not need any config in your app.
Next.js does that by considering the resources imported in the file.
If only one of your files imports the api fetching library, only that particualar page will include the library in its bundle.
styled-jsx, which is completely built by the the nextjs team, it's easy to add styles scoped to the component.