8 คะแนน โดย opnayn 2023-05-08 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • App Router (Stable)
  • Turbopack (Beta)
    • Turbopack ที่เพิ่มเข้ามาในเวอร์ชัน 13 ถูกปรับเป็นสถานะ Beta
    • เพื่อการทำให้เสถียรและรับฟีดแบ็ก จึงมีการทำ dogfooding กับ Vercel.com และลูกค้า Vercel ที่ใช้งาน Next.js ในระดับขนาดใหญ่
  • Server Actions (Alpha)
    • ใน ecosystem ของ React มีความเห็นที่หลากหลายเกี่ยวกับการจัดการสถานะของฟอร์ม
    • เอกสารทางการของ React แนะนำ "uncontrolled components"
    • เพิ่มความสามารถในการกำหนด action function ให้กับ form บนเซิร์ฟเวอร์ของ Next.js (Server Actions)
    • ใน Server Component สามารถกำหนดฟังก์ชันผ่าน action ซึ่งเป็นหนึ่งใน props ของ form ได้
    • ฟังก์ชันดังกล่าวจะทำงานเป็น server function เมื่อใส่ 'use server';
    • สามารถใช้ server function สำหรับการย้ายหน้า การแคช และอื่น ๆ ผ่านแพ็กเกจ next ได้

3 ความคิดเห็น

 
woohm402 2023-05-08

ในเอกสารทางการของ React ไม่ได้แนะนำคอมโพเนนต์แบบควบคุมไม่ใช่หรือ?

 
carrotfarm 2023-05-08

ถ้าทำเป็น controlled component ก็ต้องใช้สคริปต์
และถ้าจะทำแบบนั้นก็ต้องสร้างเป็น client component แต่แบบนี้จะเสียเปรียบในแง่แคชหรือเรื่องทำนองนั้น

server action ที่เพิ่มเข้ามาครั้งนี้ ดูเหมือนว่าจะทำให้ประกาศ 'use server' ในฟังก์ชันภายในคอมโพเนนต์ได้
เลยน่าจะทำให้ตอนทำ mutation ก็ยังคงใช้ server component ต่อไปได้

Next.js รอบนี้ยิ่งดูทั้งการพยายามลดการใช้สคริปต์ให้เหลือน้อยที่สุด และกลยุทธ์โดยรวมอะไรพวกนี้แล้ว
ยิ่งคล้าย Remix เลยนะ

การที่โค้ดฝั่งเซิร์ฟเวอร์กับโค้ดฝั่งไคลเอนต์ปนกันอยู่
ทำให้นึกถึง PHP สมัยก่อนเลย

 
opnayn 2023-05-08

แปลได้ไม่ค่อยดีเลยเผลอแปลความจนแปลกไป นี่คือย่อหน้าแรกของต้นฉบับเกี่ยวกับ Server Actions

ระบบนิเวศของ React ได้เห็นทั้งนวัตกรรมจำนวนมากและการสำรวจแนวคิดต่าง ๆ เกี่ยวกับฟอร์ม การจัดการสถานะของฟอร์ม รวมถึงการแคชและการตรวจสอบข้อมูลใหม่ เมื่อเวลาผ่านไป React ก็เริ่มมีแนวทางที่ชัดเจนมากขึ้นต่อแพตเทิร์นบางอย่างเหล่านี้ ตัวอย่างเช่น มีการแนะนำให้ใช้ “uncontrolled components” สำหรับสถานะของฟอร์ม