React framework for production with server-side rendering and static generation

Core Idea: Next.js is an open-source React framework by Vercel that simplifies building production-ready web applications with built-in features like server-side rendering, static site generation, and API routes.

Key Elements

Rendering Strategies

Routing System

Data Fetching

Server Components

Development Experience

Latest Features (Next.js 15)

Practical Implementation

Project Setup

# Create new project
npx create-next-app@latest my-app
# or with bun
bun create next-app my-app

Creating Pages

// pages/index.tsx (Pages Router)
export default function Home() {
  return <h1>Hello, World!</h1>
}

// app/page.tsx (App Router)
export default function Home() {
  return <h1>Hello, World!</h1>
}

API Routes

// pages/api/hello.ts
import type { NextApiRequest, NextApiResponse } from 'next'

export default function handler(
  req: NextApiRequest,
  res: NextApiResponse
) {
  res.status(200).json({ name: 'John Doe' })
}

// app/api/hello/route.ts (App Router)
export async function GET() {
  return Response.json({ name: 'John Doe' })
}

Data Fetching Patterns

// Server Component (App Router)
export default async function Page() {
  const data = await fetch('https://api.example.com/data')
  const json = await data.json()
  
  return <main>{json.title}</main>
}

// Pages Router
export async function getServerSideProps() {
  const res = await fetch('https://api.example.com/data')
  const data = await res.json()
  
  return { props: { data } }
}

Additional Connections

References

  1. Next.js Documentation: https://nextjs.org/docs
  2. Vercel Platform: https://vercel.com
  3. React Documentation: https://react.dev

#next-js #react #web-development #javascript #typescript #frontend #server-side-rendering


From: The Coding Sloth - Cómo programar aplicaciones que generen DINERO INFINITO
Rel: https://nextjs.org/docs