mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
6dcc9bd59a
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. 🎉 |
||
---|---|---|
.. | ||
layouts | ||
pages | ||
readme.md |
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.