Heim >Web-Frontend >js-Tutorial >React Server-Komponenten verstehen: Ein praktischer Leitfaden
React Server Components (RSC) revolutionieren die Art und Weise, wie wir serverseitiges Rendering in React-Anwendungen angehen. In diesem Leitfaden erfahren Sie, was sie sind, welche Vorteile sie haben und wie Sie sie in Ihren Projekten umsetzen können.
React Server Components sind ein neuer Komponententyp, der ausschließlich auf dem Server läuft. Sie rendern auf dem Server und senden ihre Ausgabe an den Client, wodurch die Vorteile des serverseitigen Renderings mit der clientseitigen React-Interaktivität kombiniert werden.
Hauptmerkmale:
Ab 2024 werden React Server Components am besten mit Frameworks wie Next.js verwendet. Hier ist eine schnelle Einrichtung:
npx create-next-app@latest my-rsc-app cd my-rsc-app
Wählen Sie die Verwendung des App Routers, wenn Sie dazu aufgefordert werden.
Erstellen Sie eine Serverkomponente in app/ServerComponent.tsx:
async function getData() { const res = await fetch('https://api.example.com/data') return res.json() } export default async function ServerComponent() { const data = await getData() return <div>{data.message}</div> }
import ServerComponent from './ServerComponent' export default function Home() { return ( <main> <h1>Welcome to React Server Components</h1> <ServerComponent /> </main> ) }
npm run dev
Lassen Sie uns ein komplexeres Beispiel erstellen – eine Blog-Beitragsliste, die Daten von einem CMS abruft:
// app/BlogList.tsx import { getBlogPosts } from '../lib/cms' export default async function BlogList() { const posts = await getBlogPosts() return ( <ul> {posts.map(post => ( <li key={post.id}> <h2>{post.title}</h2> <p>{post.excerpt}</p> </li> ))} </ul> ) } // app/page.tsx import BlogList from './BlogList' export default function Home() { return ( <main> <h1>Our Blog</h1> <BlogList /> </main> ) }
In diesem Beispiel ruft BlogList Daten direkt vom CMS auf dem Server ab, wodurch die Leistung verbessert und der clientseitige Code vereinfacht wird.
// ClientComponent.tsx 'use client' import { useState } from 'react' export default function LikeButton() { const [likes, setLikes] = useState(0) return <button onClick={() => setLikes(likes + 1)}>Likes: {likes}</button> } // ServerComponent.tsx import LikeButton from './ClientComponent' export default function BlogPost({ content }) { return ( <article> <p>{content}</p> <LikeButton /> </article> ) }
import { Suspense } from 'react' import BlogList from './BlogList' export default function Home() { return ( <main> <h1>Our Blog</h1> <Suspense fallback={<p>Loading posts...</p>}> <BlogList /> </Suspense> </main> ) }
'use client' export default function ErrorBoundary({ error, reset }) { return ( <div> <h2>Something went wrong!</h2> <button onClick={reset}>Try again</button> </div> ) } // In your page file import ErrorBoundary from './ErrorBoundary' export default function Page() { return ( <ErrorBoundary> <BlogList /> </ErrorBoundary> ) }
React Server Components bieten einen leistungsstarken Ansatz zum Erstellen leistungsstarker, SEO-freundlicher und sicherer Webanwendungen. Sie stellen eine spannende Richtung für die React-Entwicklung dar und ermöglichen das serverseitige Abrufen und Rendern von Daten bei gleichzeitiger Beibehaltung der Interaktivität von clientseitigem React.
Bedenken Sie beim Erkunden von Serverkomponenten, dass diese kein Ersatz für clientseitiges React sind, sondern eine ergänzende Technologie. Verwenden Sie sie dort, wo sie in Ihrer Anwendungsarchitektur sinnvoll sind.
Wir ermutigen Sie, in Ihren Projekten mit Serverkomponenten zu experimentieren und bleiben Sie gespannt auf weitere Entwicklungen in diesem spannenden Bereich!
Das obige ist der detaillierte Inhalt vonReact Server-Komponenten verstehen: Ein praktischer Leitfaden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!