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-dynamic-app-layout
Kenneth Luján Rosas 6dcc9bd59a feat: add dynamic layouts with _app.js example (#5420)
Regarding a question about having different global layouts via `_app.js` usage, it came up that we could use a static property in the page that needed a different one(Thanks @timneutkens )

Link to the Spectrum post: https://spectrum.chat/?t=af6ca794-5420-4780-abd8-96f085a19e09

This PR adds an example called `with-dynamic-app-layout`, that showcases that use case in the simplest way I could think of.

Let me know if there's changes or improvements to be made. 🎉
2018-10-10 09:49:22 +02:00
..
layouts feat: add dynamic layouts with _app.js example (#5420) 2018-10-10 09:49:22 +02:00
pages feat: add dynamic layouts with _app.js example (#5420) 2018-10-10 09:49:22 +02:00
readme.md feat: add dynamic layouts with _app.js example (#5420) 2018-10-10 09:49:22 +02:00

Deploy to now

With dynamic App layout example

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-dynamic-app-layout with-dynamic-app-layout-app
# or
yarn create next-app --example with-dynamic-app-layout with-dynamic-app-layout-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-dynamic-app-layout
cd with-dynamic-app-layout

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

Shows how to use _app.js to implement dynamic layouts for pages. This is achieved by attaching a static Layout property to each page that needs a different layout. In that way, once we use _app.js to wrap our pages, we can get it from Component.Layout and render it accordingly.