rsnext/examples/layout-component/pages/_app.tsx
Max Proske 5dd4999b64
Convert many examples to TypeScript (#41825)
Strategized with @balazsorban44 to open one larger PR, with changes to individual examples as separate commits. 

For each example, I researched how multiple realworld codebases use the featured technology with TypeScript, to thoughtfully convert them by hand - nothing automated whatsoever.

## Documentation / Examples

- [X] Make sure the linting passes by running `pnpm lint`
- [X] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)
2022-10-26 20:28:55 +00:00

17 lines
512 B
TypeScript

import type { NextPage } from 'next'
import type { AppProps } from 'next/app'
export type NextPageWithLayout = NextPage & {
getLayout?: (page: React.ReactElement) => React.ReactNode
}
type AppPropsWithLayout = AppProps & {
Component: NextPageWithLayout
}
export default function MyApp({ Component, pageProps }: AppPropsWithLayout) {
// Use the layout defined at the page level, if available
const getLayout = Component.getLayout ?? ((page) => page)
return getLayout(<Component {...pageProps} />)
}