Skip to content

Instantly share code, notes, and snippets.

@hadnazzar
Created August 12, 2020 10:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hadnazzar/f05400544d583b44352ca943d102eba6 to your computer and use it in GitHub Desktop.
Save hadnazzar/f05400544d583b44352ca943d102eba6 to your computer and use it in GitHub Desktop.
next layout component with Typescript
import React, { ReactNode } from 'react'
import Link from 'next/link'
import Head from 'next/head'
type Props = {
children?: ReactNode
title?: string
}
const Layout = ({ children, title = 'This is the default title' }: Props) => (
<div>
<Head>
<title>{title}</title>
<meta charSet="utf-8" />
<meta name="viewport" content="initial-scale=1.0, width=device-width" />
</Head>
<header>
<nav>
<Link href="/">
<a>Home</a>
</Link>{' '}
|{' '}
<Link href="/about">
<a>About</a>
</Link>{' '}
</nav>
</header>
{children}
<footer>
<hr />
<span>I'm here to stay (Footer)</span>
</footer>
</div>
)
export default Layout
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment