NextJS Rendering Methods - Explained (CSR vs SSR vs SSG vs ISR)