Skip to content

Instantly share code, notes, and snippets.

@mindmergedesign
Created March 23, 2022 00:18
Show Gist options
  • Save mindmergedesign/766ead370c2c26f686921aafc70c21dc to your computer and use it in GitHub Desktop.
Save mindmergedesign/766ead370c2c26f686921aafc70c21dc to your computer and use it in GitHub Desktop.
sample layout component using 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