Latest snippets for nextjs
narootlayout
(nextjs app directory root layout)export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<main>{children}</main>
</body>
</html>
);
}
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="en">
<body>
<main>{children}</main>
</body>
</html>
);
}
nalayout
(nextjs app directory layout)export default function Layout({ children }) {
return <section>{children}</section>;
}
export default function Layout({ children }: { children: React.ReactNode }) {
return <section>{children}</section>;
}
napage
(nextjs app directory page)export default function Page() {
return <div></div>;
}
naloading
(nextjs app directory loading)export default function Loading() {
return <div>Loading...</div>;
}
naerror
(nextjs app directory error)"use client";
import { useEffect } from "react";
export default function Error({ error, reset }) {
useEffect(() => {
console.error(error);
}, [error]);
return (
<div>
<h2>Something went wrong!</h2>
<button onClick={reset}>Try again</button>
</div>
);
}
"use client";
import { useEffect } from "react";
export default function Error({
error,
reset,
}: {
error: Error & { digest?: string };
reset: () => void;
}) {
useEffect(() => {
console.error(error);
}, [error]);
return (
<div>
<h2>Something went wrong!</h2>
<button onClick={reset}>Try again</button>
</div>
);
}
naglobalerror
(nextjs app directory global error)"use client";
export default function GlobalError({ error, reset }) {
return (
<html>
<body>
<h2>Something went wrong!</h2>
<button onClick={reset}>Try again</button>
</body>
</html>
);
}
"use client";
export default function GlobalError({
error,
reset,
}: {
error: Error & { digest?: string };
reset: () => void;
}) {
return (
<html>
<body>
<h2>Something went wrong!</h2>
<button onClick={reset}>Try again</button>
</body>
</html>
);
}
natemplate
(nextjs app directory template)export default function Template({ children }) {
return <div>{children}</div>;
}
export default function Template({ children }: { children: React.ReactNode }) {
return <div>{children}</div>;
}
nspage
(nextjs page with getServerSideProps)export default function Test() {
return <div>Enter</div>;
}
export async function getServerSideProps(ctx) {
return {
props: {
data: null,
},
};
}
import { GetServerSideProps } from "next";
const Test = () => {
return <div>Enter</div>;
};
export const getServerSideProps: GetServerSideProps = async (ctx) => {
return {
props: {},
};
};
export default Test;
nstaticpage
(nextjs page with getStaticProps and getStaticPaths)export default function Test() {
return <div>Enter</div>;
}
export async function getStaticPaths() {
return {
paths: [],
fallback: false,
};
}
export async function getStaticProps(ctx) {
return {
props: {
data: null,
},
};
}
import { GetStaticPaths, GetStaticProps } from "next";
const test = () => {
return <div>Enter</div>;
};
export const getStaticPaths: GetStaticPaths = () => {
return {
paths: [],
fallback: false,
};
};
export const getStaticProps: GetStaticProps = async (ctx) => {
return {
props: {},
};
};
export default test;
nnotfound
(nextjs not found page)export default function test() {
return (
<div>
<h1>Page Not Found</h1>
</div>
);
}
nservererror
(nextjs server error page)export default function test() {
return (
<div>
<h1>Server Error</h1>
</div>
);
}
ngetServerSideProps
(nextjs getServerSideProps function)export async function getServerSideProps(ctx) {
return {
props: {
data: null,
},
};
}
export const getServerSideProps: GetServerSideProps = async (ctx) => {
return {
props: {},
};
};
ngetStaticProps
(nextjs getStaticProps function)export async function getStaticProps(ctx) {
return {
props: {
data: null,
},
};
}
export const getStaticProps: GetStaticProps = (ctx) => {
return {
props: {},
};
};
ngetStaticPaths
(nextjs getStaticPaths function)export async function getStaticPaths() {
return {
paths: [],
fallback: false,
};
}
export const getStaticPaths: GetStaticPaths = () => {
return {
paths: [],
fallback: false,
};
};
nul
(nextjs use link element)<Link href="https://github.com/pulkitgangwar/next.js-snippets/blob/master/path">link</Link>
nafe
(nextjs arrow function (export at the end))const FileName = () => {
return <div>CONTENT</div>;
};
export default FileName;
naf
(nextjs arrow function)export default () => {
return <div>CONTENT</div>;
};
nfe
(nextjs normal function (export at the end))function FileName() {
return <div>CONTENT</div>;
}
export default FileName;
nf
(nextjs normal function )export default function () {
return <div>CONTENT</div>;
}
ngsspr
(nextjs getServerSideProps)export const getServerSideProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export const getServerSideProps: GetServerSideProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
ngspr
(nextjs getStaticProps)export const getStaticProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export const getStaticProps: GetStaticProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
ngspa
(nextjs getStaticPaths)export const getStaticPaths = async () => {
return {
paths: [],
fallback: false,
};
};
export const getStaticPaths: GetStaticPaths = async () => {
return {
paths: [],
fallback: false,
};
};
ngipr
(nextjs getInitialProps)FileName.getInitialProps = async (ctx) => {
return {
${3:data:null}
}
}
ncapp
(nextjs custom app)export default function MyApp({ Component, pageProps }) {
return <Component {...pageProps} />;
}
import type { AppProps } from "next/app";
const MyApp = ({ Component, pageProps }: AppProps) => {
return <Component {...pageProps} />;
};
export default MyApp;
ncdocument
(nextjs custom document)import { Html, Head, Main, NextScript } from "next/document";
export default function Document() {
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
nrget
(nextjs route handler get request)export async function GET(request) {}
export async function GET(request: Request) {}
nrpost
(nextjs route handler post request)export async function POST(request) {}
export async function POST(request: Request) {}
nrput
(nextjs route handler put request)export async function PUT(request) {}
export async function PUT(request: Request) {}
nrpatch
(nextjs route handler patch request)export async function PATCH(request) {}
export async function PATCH(request: Request) {}
nrdelete
(nextjs route handler delete request)export async function DELETE(request) {}
export async function DELETE(request: Request) {}
napi
(nextjs api route)export default function handler(req, res) {
req.statusCode = 200;
}
import { NextApiRequest, NextApiResponse } from "next";
export default function handler(req: NextApiRequest, res: NextApiResponse) {
req.statusCode = 200;
}
nafewserver
(nextjs arrow function (export at the end) with getServerSideProps)const FileName = () => {
return <div>CONTENT</div>;
};
export const getServerSideProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default FileName;
import { GetServerSideProps } from "next";
const Test = () => {
return <div>Enter</div>;
};
export const getServerSideProps: GetServerSideProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default Test;
nfewserver
(nextjs normal function (export at the end) with getServerSideProps)function FileName() {
return <div>CONTENT</div>;
}
export async function getServerSideProps(ctx) {
return {
props: {
data: null,
},
};
}
export default FileName;
nafewstatic
(nextjs arrow function (export at the end) with getStaticProps)const FileName = () => {
return <div>CONTENT</div>;
};
export const getStaticProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default FileName;
import { GetStaticProps } from "next";
const Test = () => {
return <div>Enter</div>;
};
export const getStaticProps: GetStaticProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default Test;
nfewstatic
(nextjs normal function (export at the end) with getStaticProps)function FileName() {
return <div>CONTENT</div>;
}
export async function getStaticProps(ctx) {
return {
props: {
data: null,
},
};
}
export default FileName;
!!static
(initializing function with getStaticPaths and getStaticProps)const FileName = () => {
return <div>CONTENT</div>;
};
export const getStaticPaths = async () => {
return {
paths: [],
fallback: false,
};
};
export const getStaticProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default FileName;
import { GetStaticPaths, GetStaticProps } from "next";
const Test = () => {
return <div>Enter</div>;
};
export const getStaticPaths: GetStaticPaths = async () => {
return {
paths: [],
fallback: false,
};
};
export const getStaticProps: GetStaticProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default Test;
nil
(nextjs import link)import Link from "next/link";
nir
(nextjs import router(default))import Router from "next/router";
niur
(nextjs import useRouter)import { useRouter } from "next/router";
nih
(nextjs import Head)import Head from "next/head";
nulwhref
(nextjs use link with href)<Link href="https://github.com/pulkitgangwar/next.js-snippets/blob/master/path">
<a>Value</a>
</Link>
nuur
(nextjs use useRouter)const router = useRouter();
nuh
(nextjs use Head )<Head>
<title>Title</title>
</Head>
nul
(nextjs use Image component)<Image src="https://github.com/pulkitgangwar/next.js-snippets/raw/master/path" width="width" height="height" alt="alt" />
ntsfwserver
(nextjs typescript function with getServerSideProps (DEPRECATED))import { GetServerSideProps } from "next";
const FileName = () => {
return <div>CONTENT</div>;
};
export const getServerSideProps: GetServerSideProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default FileName;
ntsfwstatic
(nextjs typescript function with getStaticProps (DEPRECATED))import { GetStaticProps } from "next";
const FileName = () => {
return <div>CONTENT</div>;
};
export const getStaticProps: GetStaticProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default FileName;
ntsapi
(nextjs typescript api route (DEPRECATED))import { NextApiRequest, NextApiResponse } from "next";
export default (req: NextApiRequest, res: NextApiResponse) => {};
ntscapp
(nextjs typescript custom app)import { AppProps } from 'next/app';
const MyApp = ({ Component pageProps }:AppProps) => {
return <Component {...pageProps} />
}
export default MyApp;
ntscdocument
(nextjs typescript custom document (DEPRECATED))import Document, { Html, Head, Main, NextScript } from "next/document";
class MyDocument extends Document {
static async getInitialProps(ctx) {
const initialProps = await Document.getInitialProps(ctx);
return { ...initialProps };
}
render() {
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}
export default MyDocument;
!!tsstatic
(initializing function with getStaticPaths and getStaticProps(typescript) (DEPRECATED))import { GetStaticPaths, GetStaticProps } from "next";
const FileName = () => {
return <div>CONTENT</div>;
};
export const getStaticPaths: GetStaticPaths = async () => {
return {
paths: [],
fallback: false,
};
};
export const getStaticProps: GetStaticProps = async (ctx) => {
return {
props: {
data: null,
},
};
};
export default FileName;