0Pricing
React Academy · บทเรียน

การดำเนินการฝั่งเซิร์ฟเวอร์ในรีแอ็กต์ 19 และ Next.js

ทำความเข้าใจวิธีที่การดำเนินการฝั่งเซิร์ฟเวอร์ทำงานบนเซิร์ฟเวอร์ จับบริบทของเซิร์ฟเวอร์ไว้ และส่งข้อมูลกลับไปยังไคลเอนต์

การดำเนินการฝั่งเซิร์ฟเวอร์ในรีแอ็กต์ 19 และ Next.js เป็นบทเรียน React Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน React Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส React Academy มีบทเรียนทั้งหมด 4 บทเรียน

การทำงานบนเซิร์ฟเวอร์คืออะไร

การทำงานบนเซิร์ฟเวอร์คือฟังก์ชันแบบอะซิงโครนัสที่ทำงานบนเซิร์ฟเวอร์ ไม่ใช่ในเบราว์เซอร์ ฟังก์ชันเหล่านี้ระบุด้วยคำสั่ง 'use server' ซึ่งวางไว้ด้านบนของไฟล์หรือด้านบนของเนื้อความฟังก์ชัน เพื่อส่งสัญญาณให้กรอบงานทราบว่าฟังก์ชันนี้ต้องไม่ทำงานฝั่งไคลเอนต์โดยเด็ดขาด

การเข้าถึงบริบทฝั่งเซิร์ฟเวอร์

เนื่องจากแอ็กชันฝั่งเซิร์ฟเวอร์ทำงานบนเซิร์ฟเวอร์ จึงเข้าถึงบริบทฝั่งเซิร์ฟเวอร์ทั้งหมดได้ ซึ่งรวมถึงการเชื่อมต่อฐานข้อมูล ข้อมูลลับในสภาพแวดล้อม ข้อมูลเซสชัน และทรัพยากรระบบไฟล์ นี่แตกต่างโดยพื้นฐานจากคอมโพเนนต์ฝั่งไคลเอนต์ที่เข้าถึงได้เฉพาะสิ่งที่เบราว์เซอร์เปิดเผยเท่านั้น

การส่งข้อมูล HTTP เบื้องหลัง

เมื่อคอมโพเนนต์ฝั่งไคลเอนต์เรียกใช้แอ็กชันฝั่งเซิร์ฟเวอร์ Next.js จะสร้างคำขอ HTTP POST ไปยังจุดปลายทาง RSC เฉพาะโดยอัตโนมัติ เฟรมเวิร์กจะจัดการการทำให้เป็นอนุกรมของอาร์กิวเมนต์ทั้งหมดและชั้นการส่งข้อมูลให้ ดังนั้นคุณจึงไม่ต้องเขียนการเรียกใช้ฟังก์ชันดึงข้อมูลด้วยตนเองสำหรับการเปลี่ยนแปลงข้อมูลเหล่านี้

ไม่จำเป็นต้องใช้เส้นทางส่วนติดต่อโปรแกรมประยุกต์

แอ็กชันฝั่งเซิร์ฟเวอร์ช่วยลดความจำเป็นในการใช้เส้นทางส่วนติดต่อโปรแกรมประยุกต์ในหลายสถานการณ์ที่มีการเปลี่ยนแปลงข้อมูล ตัวแอ็กชันเองทำหน้าที่เป็นจุดปลายทาง คุณกำหนดตรรกะเพียงครั้งเดียวในรูปแบบฟังก์ชันฝั่งเซิร์ฟเวอร์ แล้วเรียกใช้โดยตรงจากคอมโพเนนต์ฝั่งไคลเอนต์ได้ราวกับเป็นฟังก์ชันภายในเครื่อง

ฟีเจอร์ระดับพื้นฐานของรีแอ็กต์ 19

เดิมทีแอ็กชันฝั่งเซิร์ฟเวอร์เป็นแนวคิดเฉพาะของ Next.js แต่รีแอ็กต์ 19 ยกระดับให้เป็นฟีเจอร์ระดับพื้นฐานของรีแอ็กต์ ซึ่งหมายความว่าตัวรวมชุดและเฟรมเวิร์กอื่นที่ไม่ใช่ Next.js ก็สามารถนำรูปแบบเดียวกันไปใช้งานตามข้อกำหนดของรีแอ็กต์ได้

ความเสถียรและความพร้อมใช้งาน

แอ็กชันฝั่งเซิร์ฟเวอร์ยังอยู่ในขั้นทดลองในรีแอ็กต์ 19 RC แต่มีความเสถียรใน App Router ของ Next.js 14 ขึ้นไปนับตั้งแต่เปิดตัว หากวันนี้คุณกำลังสร้างแอปพลิเคชันสำหรับใช้งานจริงด้วย App Router ของ Next.js แอ็กชันฝั่งเซิร์ฟเวอร์ก็เป็นรูปแบบที่รองรับอย่างเต็มที่และได้รับการแนะนำ

ความปลอดภัย: ข้อมูลลับอยู่บนเซิร์ฟเวอร์

คุณสมบัติด้านความปลอดภัยที่สำคัญที่สุดประการหนึ่งของแอ็กชันฝั่งเซิร์ฟเวอร์คือ ข้อมูลลับจะไม่ไปถึงเบราว์เซอร์ ตัวแปรสภาพแวดล้อม เช่น รหัสผ่านฐานข้อมูลและคีย์ส่วนติดต่อโปรแกรมประยุกต์ที่ใช้ภายในแอ็กชันฝั่งเซิร์ฟเวอร์ จะไม่ถูกรวมไว้ในชุดโปรแกรมฝั่งไคลเอนต์ เนื่องจากตัวฟังก์ชันจะไม่ถูกส่งไปยังเบราว์เซอร์

แบบฟอร์มและแอ็กชันฝั่งเซิร์ฟเวอร์

องค์ประกอบแบบฟอร์ม HTML รับแอ็กชันฝั่งเซิร์ฟเวอร์ได้โดยตรงผ่านแอตทริบิวต์ action: <form action={myServerAction}> รีแอ็กต์จะดักจับการส่งแบบฟอร์มและเรียกใช้แอ็กชันฝั่งเซิร์ฟเวอร์พร้อมข้อมูลแบบฟอร์ม ทำให้สามารถเปลี่ยนแปลงข้อมูลฝั่งเซิร์ฟเวอร์ได้โดยไม่ต้องวางโครงสร้าง JavaScript ฝั่งไคลเอนต์เพิ่มเติม

วงจรคำขอและการตอบกลับ

เมื่อแอ็กชันฝั่งเซิร์ฟเวอร์ถูกเรียกใช้ รีแอ็กต์จะทำให้อาร์กิวเมนต์ของแอ็กชันเป็นอนุกรมแล้วใส่ลงในเนื้อหาคำขอ POST เซิร์ฟเวอร์จะคืนรูปข้อมูลดังกล่าว เรียกใช้ฟังก์ชัน ทำให้ค่าที่ส่งกลับเป็นอนุกรม แล้วส่งกลับไป มีเพียงค่าที่ทำให้เป็นอนุกรมได้เท่านั้น เช่น สตริง ตัวเลข อาร์เรย์ และอ็อบเจ็กต์ทั่วไป ที่สามารถข้ามขอบเขตนี้ได้

การกำหนดแอ็กชันฝั่งเซิร์ฟเวอร์

คุณสามารถกำหนดแอ็กชันฝั่งเซิร์ฟเวอร์ในระดับโมดูลภายในไฟล์ที่มี 'use server' อยู่ด้านบน หรือกำหนดแบบแทรกภายในคอมโพเนนต์ฝั่งเซิร์ฟเวอร์โดยวาง 'use server' ไว้ด้านบนของฟังก์ชันแบบอะซิงโครนัส ทั้งสองแนวทางให้ผลลัพธ์เหมือนกัน นั่นคือฟังก์ชันที่เรียกใช้ได้เฉพาะบนเซิร์ฟเวอร์

การเรียกใช้จากคอมโพเนนต์ฝั่งไคลเอนต์

คอมโพเนนต์ฝั่งไคลเอนต์นำเข้าและเรียกใช้แอ็กชันฝั่งเซิร์ฟเวอร์ได้เช่นเดียวกับฟังก์ชันแบบอะซิงโครนัสทั่วไป รูปแบบการเรียกใช้เหมือนกับการเรียกฟังก์ชันแบบอะซิงโครนัสภายในเครื่องทุกประการ แต่การทำงานเกิดขึ้นทั้งหมดบนเซิร์ฟเวอร์ การแยกส่วนนี้ช่วยให้คอมโพเนนต์ฝั่งไคลเอนต์เรียบง่ายและไม่ต้องมีโค้ดดึงข้อมูลที่ซ้ำซ้อน

คำถามเกี่ยวกับรูปแบบความปลอดภัย

ข้อใดต่อไปนี้อธิบายรูปแบบความปลอดภัยของแอ็กชันฝั่งเซิร์ฟเวอร์ได้ดีที่สุด

สรุปบทเรียน

แอ็กชันฝั่งเซิร์ฟเวอร์คือฟังก์ชันแบบอะซิงโครนัสฝั่งเซิร์ฟเวอร์ที่กำกับด้วย 'use server' ฟังก์ชันเหล่านี้ครอบคลุมบริบทฝั่งเซิร์ฟเวอร์ เช่น การเชื่อมต่อฐานข้อมูลและข้อมูลลับในสภาพแวดล้อม Next.js จัดการการส่งข้อมูล HTTP ให้อัตโนมัติ และรีแอ็กต์ 19 ทำให้ฟังก์ชันเหล่านี้เป็นฟีเจอร์ที่ไม่ขึ้นกับเฟรมเวิร์ก แบบฟอร์มสามารถใช้ฟังก์ชันเหล่านี้ได้โดยตรงผ่านแอตทริบิวต์ action และข้อมูลลับภายในฟังก์ชันจะไม่ไปถึงเบราว์เซอร์

คำถามที่พบบ่อย

บทเรียน “การดำเนินการฝั่งเซิร์ฟเวอร์ในรีแอ็กต์ 19 และ Next.js” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การดำเนินการฝั่งเซิร์ฟเวอร์ในรีแอ็กต์ 19 และ Next.js” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส React Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส React Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การดำเนินการฝั่งเซิร์ฟเวอร์ในรีแอ็กต์ 19 และ Next.js”

ทำความเข้าใจวิธีที่การดำเนินการฝั่งเซิร์ฟเวอร์ทำงานบนเซิร์ฟเวอร์ จับบริบทของเซิร์ฟเวอร์ไว้ และส่งข้อมูลกลับไปยังไคลเอนต์ คุณปฏิบัติ React Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน React Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน React Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การดำเนินการฝั่งเซิร์ฟเวอร์ในรีแอ็กต์ 19 และ Next.js” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน React Academy นี้ได้ไหม

ได้ บทเรียน React Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การดำเนินการฝั่งเซิร์ฟเวอร์ในรีแอ็กต์ 19 และ Next.js
  2. การดำเนินการของแบบฟอร์ม: แทนที่เส้นทาง API สำหรับการเปลี่ยนแปลงข้อมูล
  3. useActionState และ useFormStatus
  4. การปรับปรุงแบบค่อยเป็นค่อยไปด้วยการดำเนินการฝั่งเซิร์ฟเวอร์
← กลับไปที่ React Academy