การปรับปรุงแบบค่อยเป็นค่อยไปด้วยการดำเนินการฝั่งเซิร์ฟเวอร์
สร้างแบบฟอร์มที่ทำงานได้โดยไม่ใช้ JavaScript ด้วยการดำเนินการฝั่งเซิร์ฟเวอร์ และเพิ่มความสามารถด้วยรีแอ็กต์เมื่อโหลด JS
การปรับปรุงแบบค่อยเป็นค่อยไปด้วยการดำเนินการฝั่งเซิร์ฟเวอร์ เป็นบทเรียน React Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน React Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส React Academy มีบทเรียนทั้งหมด 4 บทเรียน
การเพิ่มความสามารถแบบก้าวหน้าคืออะไร
การเพิ่มความสามารถแบบก้าวหน้าเป็นแนวทางการพัฒนาเว็บที่เริ่มจากพื้นฐาน HTML ซึ่งใช้งานได้จริง แล้วจึงเสริมความสามารถของ JavaScript เข้าไป ฟังก์ชันหลักทำงานได้สำหรับผู้ใช้ทุกคน รวมถึงผู้ที่ปิดใช้งาน JavaScript ผู้ที่มีการเชื่อมต่อช้า หรือผู้ที่ใช้เทคโนโลยีสิ่งอำนวยความสะดวก ขณะที่ผู้ใช้ที่เปิดใช้งาน JavaScript จะได้รับประสบการณ์ที่ดียิ่งขึ้น
พื้นฐานที่ไม่ใช้ JS
ฟอร์มที่มี action={serverAction} จะทำงานเป็นการส่ง HTML POST แบบเต็มหน้าได้แม้ไม่มี JavaScript เบราว์เซอร์จะส่งฟอร์ม เซิร์ฟเวอร์จะเรียกใช้การทำงานนั้น แล้วส่งหน้า HTML ที่อัปเดตแล้วกลับมา กลไกนี้เป็นแบบเดียวกับที่ขับเคลื่อนฟอร์มบนเว็บมาตั้งแต่ปี 1995 — การทำงานบนเซิร์ฟเวอร์ของ React ออกแบบมาให้ใช้ร่วมกับกลไกนี้ได้
การตรวจสอบข้อมูลฝั่งเซิร์ฟเวอร์โดยไม่ใช้ JS
เมื่อไม่มี JavaScript การตรวจสอบข้อมูลต้องเกิดขึ้นบนเซิร์ฟเวอร์ การทำงานบนเซิร์ฟเวอร์จะตรวจสอบข้อมูลฟอร์ม และหากการตรวจสอบไม่ผ่าน ก็จะส่งสถานะข้อผิดพลาดกลับมา เซิร์ฟเวอร์จะสร้างหน้าใหม่พร้อมฝังข้อความข้อผิดพลาดไว้ใน HTML ผู้ใช้จะเห็นข้อผิดพลาดโดยไม่ต้องเรียกใช้ JavaScript ฝั่งไคลเอนต์ใด ๆ
ชั้นเสริมความสามารถด้วย JavaScript
เมื่อ React ทำให้หน้าโต้ตอบได้ React จะดักรับการส่งฟอร์มและจัดการในรูปแบบการเรียกใช้การทำงานบนเซิร์ฟเวอร์แบบอะซิงโครนัส แทนการส่ง POST แบบเต็มหน้า ผู้ใช้จะได้รับการอัปเดตในหน้าเดิมโดยไม่ต้องโหลดหน้าใหม่ เห็นสถานะกำลังดำเนินการ และได้ส่วนติดต่อผู้ใช้แบบคาดการณ์ล่วงหน้า ทั้งหมดนี้ทำได้โดยไม่ต้องเปลี่ยนการทำงานหรือโครงสร้างฟอร์มเดิม
รูปแบบที่ปลอดภัยต่อการทำให้โต้ตอบได้
เซิร์ฟเวอร์จะสร้างฟอร์มพร้อมฝังสถานะเริ่มต้นไว้ใน HTML เมื่อ React ทำให้หน้าโต้ตอบได้ ก็จะรับสถานะเริ่มต้นนั้นไปใช้โดยไม่ทำให้เกิดการกะพริบหรือความไม่ตรงกัน useActionState ได้รับการออกแบบมาเพื่อผสานสถานะเริ่มต้นที่สร้างจากเซิร์ฟเวอร์เข้ากับการทำให้หน้าโต้ตอบได้ฝั่งไคลเอนต์อย่างราบรื่น
การเปลี่ยนผ่านของ React เพื่อความรู้สึกฉับไว
การเปลี่ยนผ่านของ React ช่วยให้ส่วนติดต่อผู้ใช้ยังโต้ตอบได้ระหว่างการเรียกใช้การทำงานบนเซิร์ฟเวอร์ การครอบการส่งฟอร์มไว้ในการเปลี่ยนผ่านทำให้ React ลดลำดับความสำคัญของการเดินทางไปกลับระหว่างเซิร์ฟเวอร์ลง และคงความตอบสนองของหน้าไว้ได้ นี่คือสิ่งที่ทำให้ประสบการณ์ที่เสริมด้วย JavaScript รู้สึกเร็วกว่าอย่างเห็นได้ชัดเมื่อเทียบกับการโหลดหน้าใหม่ทั้งหน้า
การเปรียบเทียบประสบการณ์ผู้ใช้
เมื่อไม่มี JavaScript: ผู้ใช้คลิกส่ง เบราว์เซอร์ส่ง POST แบบเต็มหน้า เซิร์ฟเวอร์ตอบกลับด้วยหน้า HTML ใหม่ ซึ่งรวมถึงการกะพริบเป็นสีขาวชั่วครู่และการรีเซ็ตตำแหน่งการเลื่อน เมื่อมี JavaScript: React ดักรับการส่ง ฟอร์ม การทำงานจะทำงานแบบอะซิงโครนัส และมีเพียงส่วนที่เปลี่ยนแปลงของหน้าเท่านั้นที่อัปเดตในตำแหน่งเดิม — ไม่มีการกะพริบและไม่มีการรีเซ็ตตำแหน่งการเลื่อน
การจัดทำดัชนีของเครื่องมือค้นหา
การเพิ่มความสามารถแบบก้าวหน้าเป็นประโยชน์ต่อโปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหา ซึ่งอาจไม่เรียกใช้ JavaScript หน้าค้นหาหรือหน้าตัวกรองที่ขับเคลื่อนด้วยฟอร์มและทำงานเป็นฟอร์ม HTML แบบเต็มหน้าได้นั้นสามารถจัดทำดัชนีและรวบรวมข้อมูลได้ ผลลัพธ์ที่สร้างจากเซิร์ฟเวอร์ทำให้โปรแกรมรวบรวมข้อมูลเห็นเนื้อหาจริง ไม่ใช่องค์ประกอบว่างที่รอ JavaScript
ประโยชน์ด้านการเข้าถึง
โปรแกรมอ่านหน้าจอและเทคโนโลยีสิ่งอำนวยความสะดวกทำงานได้ดีที่สุดกับ HTML เชิงความหมาย ฟอร์มที่เพิ่มความสามารถแบบก้าวหน้าใช้ทั้งองค์ประกอบ <form>, <input> และ <button> จริง ซึ่งเทคโนโลยีสิ่งอำนวยความสะดวกเข้าใจได้โดยตรง JavaScript จะเพิ่มพื้นที่ประกาศแบบสดของ ARIA สำหรับแจ้งข้อผิดพลาด โดยเป็นการเสริมพื้นฐานที่เข้าถึงได้ ไม่ใช่การแทนที่
การเชื่อมต่อที่จำกัดและความทนทานของเครือข่าย
บนเครือข่ายที่ไม่เสถียร ชุด JavaScript อาจโหลดไม่สำเร็จ หน้าที่เพิ่มความสามารถแบบก้าวหน้ายังคงทำงานสำหรับกรณีใช้งานพื้นฐานได้ ความทนทานนี้สำคัญเป็นพิเศษสำหรับผู้ใช้การเชื่อมต่อมือถือในพื้นที่ที่มีสัญญาณครอบคลุมไม่ดี หรือในภูมิภาคที่สภาพเครือข่ายเปลี่ยนแปลงอย่างมาก
ควรใช้การเพิ่มความสามารถแบบก้าวหน้าเมื่อใด
การเพิ่มความสามารถแบบก้าวหน้ามีคุณค่ามากที่สุดสำหรับฟอร์มที่ผู้ใช้ทั่วไปเข้าถึงได้ เช่น การสมัครสมาชิก การติดต่อ การค้นหา และการชำระเงิน แดชบอร์ดภายในที่มีการโต้ตอบซับซ้อนอาจไม่จำเป็นต้องใช้แนวทางนี้ ควรนำไปใช้อย่างมีจุดประสงค์ในบริบทที่การเข้าถึงผู้ใช้ได้มากที่สุดและความน่าเชื่อถือมีความสำคัญ เช่น หน้าโฆษณา การพาณิชย์อิเล็กทรอนิกส์ และขั้นตอนการเริ่มต้นใช้งานของผู้ใช้
คำจำกัดความของการเพิ่มความสามารถแบบก้าวหน้า
หลักการสำคัญของการเพิ่มความสามารถแบบก้าวหน้าคืออะไร
สรุปบทเรียน
การเพิ่มความสามารถแบบก้าวหน้าหมายถึงฟอร์มทำงานเป็น HTML POST ธรรมดาได้โดยไม่ต้องใช้ JavaScript การทำงานบนเซิร์ฟเวอร์ของ React รองรับสิ่งนี้โดยตรง: action={serverAction} เปิดให้ส่ง POST แบบเต็มหน้าได้ จากนั้นการทำให้หน้าโต้ตอบได้ของ React จะยกระดับฟอร์มให้เป็นการอัปเดตในหน้าเดิมแบบอะซิงโครนัสพร้อมสถานะกำลังดำเนินการ แนวทางนี้เป็นประโยชน์ต่อการเข้าถึง การปรับให้เหมาะกับเครื่องมือค้นหา และผู้ใช้ที่มีการเชื่อมต่อจำกัด ขณะเดียวกันก็ยังมอบประสบการณ์ JavaScript ที่ครบถ้วน
เรียนรู้ React ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 88
- บทเรียน
- 324
คำถามที่พบบ่อย
บทเรียน “การปรับปรุงแบบค่อยเป็นค่อยไปด้วยการดำเนินการฝั่งเซิร์ฟเวอร์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การปรับปรุงแบบค่อยเป็นค่อยไปด้วยการดำเนินการฝั่งเซิร์ฟเวอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส React Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส React Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การปรับปรุงแบบค่อยเป็นค่อยไปด้วยการดำเนินการฝั่งเซิร์ฟเวอร์”
สร้างแบบฟอร์มที่ทำงานได้โดยไม่ใช้ JavaScript ด้วยการดำเนินการฝั่งเซิร์ฟเวอร์ และเพิ่มความสามารถด้วยรีแอ็กต์เมื่อโหลด JS คุณปฏิบัติ React Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน React Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน React Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การปรับปรุงแบบค่อยเป็นค่อยไปด้วยการดำเนินการฝั่งเซิร์ฟเวอร์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน React Academy นี้ได้ไหม
ได้ บทเรียน React Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การดำเนินการฝั่งเซิร์ฟเวอร์ในรีแอ็กต์ 19 และ Next.js
- การดำเนินการของแบบฟอร์ม: แทนที่เส้นทาง API สำหรับการเปลี่ยนแปลงข้อมูล
- useActionState และ useFormStatus
- การปรับปรุงแบบค่อยเป็นค่อยไปด้วยการดำเนินการฝั่งเซิร์ฟเวอร์