Asas ciri Pelayan React
- Komponen Pelayan (Komponen Pelayan Bertindak balas, RSC): Komponen yang berjalan pada pelayan dan menjadikan klien sama seperti SSR.
- Fungsi Pelayan (a.k.a. Tindakan Pelayan): Fungsi yang berjalan pada pelayan sahaja dan menghantar maklumat kepada klien.
Arahan
- 'use client': Jika anda menggunakan persekitaran yang didayakan "komponen pelayan", anda harus menanda use client di bahagian atas fail untuk menandakannya sebagai komponen klien.
- 'gunakan pelayan': Jika anda mempunyai pertimbangan untuk mengubah maklumat pada pelayan, anda harus menandakan arahan penggunaan pelayan di bahagian atas badan fungsi dalam komponen pelayan atau fail untuk beroperasi hanya pada pelayan.
Komponen Pelayan
- RSC bukan stateful mahupun kitaran hayat. Anda tidak boleh menggunakan sebarang fungsi cangkuk (useState, useEffect, dll.) pada komponen pelayan.
- RSC boleh mempunyai fungsi tak segerak.
- RSC boleh mempunyai fungsi pelayan. tetapi anda mesti menandakan 'use server' di bahagian atas badan fungsi.
- RSC boleh mempunyai anak dalam kedua-dua komponen pelayan dan komponen klien.
- RSC tidak boleh menjalankan mana-mana API penyemak imbas.
- RSC anda boleh menghantar prop dari sebarang jenis kepada RSC. juga boleh lulus jenis prop dengan had kepada komponen klien. Semak jadual jenis arahan di bawah.
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>; }
Fungsi Pelayan
- apabila mendefinisikan, anda mesti mempunyai arahan 'guna pelayan' dalam badan fungsi atau fail.
- Anda boleh menjalankan sebarang ciri pelayan pada badan fungsi.
- Anda tidak boleh menjalankan API penyemak imbas pada badan fungsi.
- Anda boleh memanggil fungsi pelayan pada kedua-dua pelayan dan klien.
- Anda boleh mengembalikan nilai dengan pengehadan. Semak jadual jenis arahan di bawah.
Mengisytiharkan fungsi pelayan dalam komponen pelayan
import Button from './Button'; function EmptyNote () { async function createNoteAction() { // Server Function 'use server'; await db.notes.create(); } return <Button onClick={createNoteAction}/>; }
Mengisytiharkan fungsi pelayan dalam fail berasingan
"use server"; export async function updateName(name) { if (!name) { return {error: 'Name is required'}; } await db.users.updateName(name); }
Menggunakan fungsi pelayan dalam komponen klien
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>; }
Perbandingan jenis nilai pemegang dalam arahan
- gunakan klien: menghantar jenis prop daripada komponen pelayan kepada komponen klien.
- gunakan pelayan: Jenis pemulangan fungsi Pelayan
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. |
- Jenis dan contoh lain tidak tersedia.
Selamat bertindak!
Atas ialah kandungan terperinci Helaian cheat ciri pelayan React. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

JavaScriptisidealForWebDevelopment, whersjavasuitslarge-scaleapplicationsandandroiddevelopment.1) javascriptexcelsincreatinginteractivewebexperiencesandfull-stackdevelopmentwithnode.js.2)

Dalam JavaScript, memilih satu-satunya komen (//) atau ulasan multi-line (//) bergantung kepada keperluan dan keperluan projek komen: 1. Gunakan komen satu baris untuk tafsiran cepat dan sebaris; 2. Gunakan komen berbilang baris untuk dokumentasi terperinci; 3. Mengekalkan konsistensi gaya komen; 4. Elakkan daripada annotasi; 5. Pastikan komen dikemas kini secara serentak dengan kod. Memilih gaya anotasi yang betul dapat membantu meningkatkan kebolehbacaan dan pemeliharaan kod anda.

Ya, JavaScriptcommentsareneraryAnderyShouldbeusedefectively.1) theguedevelopersthroughcodelogicandIntent, 2) arevitalincomplexprojects, and3) couldenhanceclaritywithoutclutterthecode.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

Commentsarecrucialinjavascriptformaintainingclarityandfosteringcollaboration.1) theyhelpindebugging, onboarding, andunderstandingcodeevolution.2) menggunakan-linecommentsforquickexplanationsandmulti-linecommentsfordetaileddescriptions.3)

Javascripthasseveralprimitivedatatypes: nombor, rentetan, boolean, undefined, null, simbol, andbigint, dan non-primitivetypesliikeobjectandarray.UnderstheseiscialfritingFritingefisien, bug-freecode: 1) numberusesa64-fitformat, pemimpin-fitformat, pemimpin-fitformat

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection
