“Definindo o layout do componente Next TS” Respostas de código

Definindo o layout do componente Next TS

import { NextPage } from 'next'
import { ComponentType, ReactElement, ReactNode } from 'react'

export type Page<P = {}> = NextPage<P> & {
  // You can disable whichever you don't need
  getLayout?: (page: ReactElement) => ReactNode
  layout?: ComponentType
}
Embarrassed Echidna

Definindo o layout do componente Next TS

import type { AppProps } from 'next/app'
import { Fragment } from 'react'
import type { Page } from '../types/page'

// this should give a better typing
type Props = AppProps & {
  Component: Page
}
const MyApp = ({ Component, pageProps }: Props) => {
  // adjust accordingly if you disabled a layout rendering option
  const getLayout = Component.getLayout ?? (page => page)
  const Layout = Component.layout ?? Fragment

  return (
    <Layout>
      {getLayout(<Component {...pageProps} />)}
    </Layout>
  )

  // or swap the layout rendering priority
  // return getLayout(<Layout><Component {...pageProps} /></Layout>)
}

export default MyApp
Embarrassed Echidna

Respostas semelhantes a “Definindo o layout do componente Next TS”

Perguntas semelhantes a “Definindo o layout do componente Next TS”

Mais respostas relacionadas para “Definindo o layout do componente Next TS” em TypeScript

Procure respostas de código populares por idioma

Procurar outros idiomas de código