Skip to main content

nextjs

Next.js full-stack React framework with SSR, API routes, and file-based routing

Quellinformationen

Repository
ffsshhttiikk/opencode-agents-skills
Letzte Quellaktivität
28. Februar 2026 um 22:53
Erkannte Sprache von SKILL.md
Englisch
Sterne
3
Forks
2

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
nextjs
description
Next.js full-stack React framework with SSR, API routes, and file-based routing
license
MIT
compatibility
opencode
metadata
{"audience":"developers","category":"frameworks"}
## What I do - Build server-side rendered React applications - Create API routes and serverless functions - Implement file-based routing with dynamic routes - Use getStaticProps, getServerSideProps, and getStaticPaths - Optimize performance with SSR, SSG, and ISR - Handle authentication with NextAuth.js - Use TypeScript for type safety ## When to use me When building modern React applications with SSR, API routes, or full-stack capabilities. ## Pages Router ```typescript // pages/index.tsx import { GetServerSideProps } from 'next' interface Props { data: User[] } export const getServerSideProps: GetServerSideProps<Props> = async () => { const res = await fetch('https://api.example.com/users') const data = await res.json() return { props: { data }, } } export default function Home({ data }: Props) { return ( <ul> {data.map(user => ( <li key={user.id}>{user.name}</li> ))} </ul> ) } ``` ## App Router (Next.js 13+) ```typescript // app/page.tsx import { getData } from '@/lib/data' export default async function Page() { const data = await getData() return <main>{data.title}</main> } // app/layout.tsx export default function RootLayout({ children }: { children: React.ReactNode }) { return ( <html lang="en"> <body>{children}</body> </html> ) } // app/api/route.ts import { NextResponse } from 'next/server' export async function GET() { return NextResponse.json({ message: 'Hello' }) } ``` ## Dynamic Routes ```typescript // app/posts/[id]/page.tsx interface Props { params: { id: string } } export default async function Post({ params }: Props) { const post = await fetchPost(params.id) return <article>{post.content}</article> } export async function generateStaticParams() { const posts = await fetchAllPosts() return posts.map(post => ({ id: post.id })) } ``` ## Client Components ```typescript 'use client' import { useState } from 'react' export function Counter() { const [count, setCount] = useState(0) return ( <button onClick={() => setCount(c => c + 1)}> Count: {count} </button> ) } ``` ## Server Actions ```typescript // app/actions.ts 'use server' export async function createUser(formData: FormData) { const name = formData.get('name') // Database operation await db.user.create({ name: name as string }) revalidatePath('/users') } ```
Auf GitHub ansehen