Grundlagen der React Server-Funktion
- Serverkomponente (React Server Component, RSC): Eine Komponente, die auf dem Server ausgeführt wird und auf dem Client genauso gerendert wird wie SSR.
- Serverfunktion (auch bekannt als Serveraktionen): Eine Funktion, die nur auf den Servern ausgeführt wird und die Informationen an den Client sendet.
Richtlinien
- ?Client verwenden“: Wenn Sie eine Umgebung mit aktivierter ?Serverkomponente“ verwenden, sollten Sie ?Client verwenden“ oben in der Datei markieren, um ihn als Client-Komponente zu kennzeichnen.
- ?Server verwenden“: Wenn Sie erw?gen, die Informationen auf dem Server zu ?ndern, sollten Sie oben im Funktionsk?rper in der Serverkomponente oder -datei die Direktive ?Server verwenden“ markieren, um nur auf dem Server zu arbeiten.
Serverkomponente
- RSC ist weder zustandsbehaftet noch lebenszyklusorientiert. Sie k?nnen keine Hook-Funktionen (useState, useEffect usw.) auf der Serverkomponente verwenden.
- RSC kann eine asynchrone Funktion haben.
- RSC kann Serverfunktionen haben. Sie müssen jedoch oben im Funktionsk?rper ?Server verwenden“ markieren.
- RSC kann sowohl in der Serverkomponente als auch in der Clientkomponente untergeordnete Elemente haben.
- RSC kann keine Browser-API ausführen.
- Ihr RSC kann Requisiten jeglicher Art an RSC weitergeben. Au?erdem kann der Props-Typ mit Einschr?nkung an die Client-Komponente übergeben werden. Sehen Sie sich die Tabelle mit den Direktiventypen unten an.
import marked from 'marked'; // Not included in bundle import sanitizeHtml from 'sanitize-html'; // Not included in bundle async function Page({page}) { // NOTE: loads *during* render, when the app is built. const content = await file.readFile(`${page}.md`); return <div>{sanitizeHtml(marked(content))}</div>; }
Serverfunktion
- Bei der Definition muss die Direktive ?Server verwenden“ im Funktionsk?rper oder in der Datei vorhanden sein.
- Sie k?nnen beliebige Serverfunktionen auf dem Funktionsk?rper ausführen.
- Sie k?nnen die Browser-API nicht auf dem Funktionsk?rper ausführen.
- Sie k?nnen Serverfunktionen sowohl auf dem Server als auch auf dem Client aufrufen.
- Sie k?nnen den Wert mit Einschr?nkungen zurückgeben. Sehen Sie sich die Tabelle mit den Direktiventypen unten an.
Serverfunktion in der Serverkomponente deklarieren
import Button from './Button'; function EmptyNote () { async function createNoteAction() { // Server Function 'use server'; await db.notes.create(); } return <Button onClick={createNoteAction}/>; }
Serverfunktion in der separaten Datei deklarieren
"use server"; export async function updateName(name) { if (!name) { return {error: 'Name is required'}; } await db.users.updateName(name); }
Verwendung der Serverfunktion in der Client-Komponente
import marked from 'marked'; // Not included in bundle import sanitizeHtml from 'sanitize-html'; // Not included in bundle async function Page({page}) { // NOTE: loads *during* render, when the app is built. const content = await file.readFile(`${page}.md`); return <div>{sanitizeHtml(marked(content))}</div>; }
Vergleich von Handle-Werttypen in Anweisungen
- Client verwenden: übergeben des Requisitentyps von der Serverkomponente an die Clientkomponente.
- Server verwenden: Der Rückgabetyp der Serverfunktionen
Type | use client | use server | Notes |
---|---|---|---|
string | ? | ? | both string value and iterables are supported. |
number | ? | ? | |
bigint | ? | ? | |
boolean | ? | ? | |
undefined | ? | ? | |
null | ? | ? | |
Array | ? | ? | Only available in the item of serializable list. |
Map | ? | ? | Only available in the item of serializable list. |
Set | ? | ? | Only available in the item of serializable list. |
TypedArray | ? | ? | |
ArrayBuffer | ? | ? | |
Date | ? | ? | |
object | ? | ? | Support only plain object(object initializers or JSON), null prototype not supported. |
Promises | ? | ? | Only available in the serializable list. |
ReactNode | ? | ? | Only Server Component can send it to Client Component via props. |
FormData | ? | ? | Only server functions can return FormData instance. |
symbol | ?? | ?? | Only symbols registered in the global Symbol registry via Symbol.for |
function | ?? | ?? | Only server functions allowed. |
class | ? | ? | Any instance objects are not serializable. |
- Die anderen Typen und Instanzen sind nicht verfügbar.
Viel Spa? beim Reagieren!
Das obige ist der detaillierte Inhalt vonEin Spickzettel für React-Serverfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

JavaScriptisidealforwebDevelopment, w?hrend JavasuitSlarge-ScaleApplications-und-und -entwicklung.1) JavascriptexcelsincreatinginteractiveWebexperiencesandful-StackDevelopmentwitHnode.js.2) javaisroboBusthernprispribies

In JavaScript h?ngt die Auswahl eines Einzelzeilen-Kommentars (//) oder eines Mehrzeilungskommentars (//) von den Zweck- und Projektanforderungen des Kommentars ab: 1. Verwenden Sie Einzelzeilen-Kommentare für eine schnelle und Inline-Interpretation; 2. Verwenden Sie Multi-Line-Kommentare für detaillierte Dokumentation. 3.. Behalten Sie die Konsistenz des Kommentarstils bei; 4. Vermeiden Sie überankünfte; 5. Stellen Sie sicher, dass die Kommentare synchron mit dem Code aktualisiert werden. Die Auswahl des richtigen Annotationsstils kann dazu beitragen, die Lesbarkeit und Wartbarkeit Ihres Codes zu verbessern.

Ja, JavaScriptComents isten -n?tig und schuldiert, 1) sie haben sich entwickeln, die Codelogicandintent, 2) ArevitalIncomplexProjects und 3) ShoeNeClarity Gloutclutterthecode.

Java und JavaScript sind unterschiedliche Programmiersprachen, die jeweils für verschiedene Anwendungsszenarien geeignet sind. Java wird für die Entwicklung gro?er Unternehmen und mobiler Anwendungen verwendet, w?hrend JavaScript haupts?chlich für die Entwicklung von Webseiten verwendet wird.

JavaScriptComents AreseessentialFormaintaining, Lesen und GuidingCodeexexecution.1) einzelne Linecommments Arequickickexplanationen.2) Multi-LindexplainComproxlogicorProvedetailedDocumentation.3) InlinecommentsclarifyspecificPartsosensofCode.BestPracticic

CommentareAtecrucialinjavaScriptFormaintainingClarity und FosteringCollaboration.1) thehelpindebugging, Onboarding, und die Verst?rkung vonCodeevolution.2) Verwendungsle-Linien- und Verst??en für FosterquickexPlanations und Multi-LinecomMentSfordsetaileddescriptions.3) Bestpraktiziert

JavascripThasseveralprimitedatatypes: Zahl, String, Boolean, undefined, Null, Symbol und Bigint und Non-Primitivetypes LikeObjectandArray.Ververst?ndnisTheSeisScricialForwritingEffiction, Bug-Freecode: 1) numberusesa64-Bitformat, führend, führend, führend, pointofointofloatieren-pointoinssli

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor
