1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-loading
Tomek e8c1eaec83 update with-loading example (#4836)
Changes:

* Split `Header` component trough `_document.js` and `_app.js`
* Attached Router events with a way described in the [documentation](https://github.com/zeit/next.js#router-events) (though in the documentation is says it should be `Router.events.on` while I managed to get it working only by `Router.router.events.on` and I had to place it inside `componentDidMount`)
2018-08-11 19:39:48 -07:00
..
pages update with-loading example (#4836) 2018-08-11 19:39:48 -07:00
static Implement Router Events (#511) 2016-12-30 17:15:22 -08:00
package.json Upgrade React for all examples (#3113) 2017-10-17 08:11:46 +02:00
README.md #4751 - Explicitly mention install when cloning examples (#4758) 2018-07-11 23:56:15 +02:00

Deploy to now

Example app with page loading indicator

How to use

Using create-next-app

Execute create-next-app with Yarn or npx 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 manually

Download the example:

curl https://codeload.github.com/zeit/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 now (download)

now

The idea behind the example

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, 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.