2017-04-22 12:51:51 +00:00
[![Deploy to now ](https://deploy.now.sh/static/button.svg )](https://deploy.now.sh/?repo=https://github.com/zeit/next.js/tree/master/examples/with-shallow-routing)
2017-03-06 16:48:35 +00:00
# Shallow Routing Example
## How to use
2017-12-03 04:30:17 +00:00
### Using `create-next-app`
2018-04-03 12:19:05 +00:00
Execute [`create-next-app` ](https://github.com/segmentio/create-next-app ) with [Yarn ](https://yarnpkg.com/lang/en/docs/cli/create/ ) or [npx ](https://github.com/zkat/npx#readme ) to bootstrap the example:
2017-12-03 04:30:17 +00:00
2018-03-14 08:09:46 +00:00
```bash
npx create-next-app --example with-shallow-routing with-shallow-routing-app
# or
yarn create next-app --example with-shallow-routing with-shallow-routing-app
2017-12-03 04:30:17 +00:00
```
### Download manually
2018-07-11 21:56:15 +00:00
Download the example:
2017-03-06 16:48:35 +00:00
```bash
2017-12-07 02:12:42 +00:00
curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-shallow-routing
2017-11-15 08:55:41 +00:00
cd with-shallow-routing
2017-03-06 16:48:35 +00:00
```
Install it and run:
```bash
npm install
npm run dev
2018-04-03 12:19:05 +00:00
# or
yarn
yarn dev
2017-03-06 16:48:35 +00:00
```
Deploy it to the cloud with [now ](https://zeit.co/now ) ([download](https://zeit.co/download))
```bash
now
```
## The idea behind the example
With shallow routing, we could change the URL without actually running the `getInitialProps` every time you change the URL.
2017-11-15 08:55:41 +00:00
We do this passing the `shallow: true` option to `Router.push` or `Router.replace` .