Sometimes when switching between pages, Next.js needs to download pages(chunks) from the server before rendering the page. And it may also need to wait for the data. So while doing these tasks, the browser might be non responsive.
We can simply fix this issue by showing a loading indicator. That's what this examples shows.
It features:
- An app with two pages which uses a common Header component for navigation links.
- Using
next/router
to identify different router events - Uses nprogress as the loading indicator.
Deploy the example using Vercel:
Execute create-next-app
with npm or Yarn to bootstrap the example:
npx create-next-app --example with-loading with-loading-app
# or
yarn create next-app --example with-loading with-loading-app
Download the example:
curl https://codeload.github.com/vercel/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-loading
cd with-loading
Install it and run:
npm install
npm run dev
# or
yarn
yarn dev
Deploy it to the cloud with Vercel (Documentation).