Ukraine-Relief-Efforts/ukraine-info-guide

next.js migration?

Closed this issue · 2 comments

next.js migration?

Some benefits for reference:

  • Server Side Rendering so less intensive on browser - especially mobile
  • Much better built-in SEO capabilities
  • No need for React Router - built in routing support
  • Arguably the Fastest framework on the web

@Seth-McKilla I started working on this, but it's going to be a lot more time-consuming than I can really commit to right now so you're welcome to take over if you want. There's a few initial commits in the "next-migration" branch, or you can just start over.

The main issues are:

  • The map (this is easy to fix with next/dynamic)
  • Translations (i18next uses React Suspense - the JSON files are also loaded dynamically)
  • Redux (honestly, we can probably just remove redux - we really don't anything more powerful than useState. This would require some refactoring though)

All of the issues are perfectly fixable, but there's other more important problems I need to work on right now.

The current bundle size is about 550k, which is bigger than needed but still acceptable. It's only going to grow though so I still think next is a good idea in the long term.