พรีวิว React 18
(gist.github.com/seonghyeonkimm)-
มาดูกันว่าเมื่อ React 18 rc ถูกกำหนดออกมาแน่นอนแล้ว มีฟีเจอร์อะไรถูกเพิ่มเข้ามาบ้าง
-
Automatic batching for fewer renders
- ตั้งแต่ React 18 เป็นต้นไป
setStateที่เกิดขึ้นต่อเนื่องกันจาก promise,setTimeoutเป็นต้น จะถูกจัดการแบบ batch ด้วยเช่นกัน
- ตั้งแต่ React 18 เป็นต้นไป
-
SSR support for Suspense
- ปรับปรุงให้สามารถใช้ Suspense ได้ใน SSR เช่นกัน
-
เพิ่ม Concurrent features
-
useTransition: แยกแยะการอัปเดต state แบบ urgent และ not urgent ทำให้สามารถปรับปรุงโค้ดที่เคยทำ debouncing โดยใช้ hook นี้ได้ -
useDeferredValue: สามารถใช้ค่าของ state แบบหน่วงเวลาได้ ซึ่งเทียบเท่ากับการใส่โค้ดอัปเดต state ไว้ในstartTransition -
useId: ปรับปรุงให้สามารถใช้ id ที่ไม่ซ้ำกันได้ -
useSyncExternalStore: นอกจาก store ภายในอย่าง props และ state แล้ว ยังสามารถตรวจจับการเปลี่ยนแปลงของ object ภายนอกที่ mutable และนำมาใช้เป็น state ของ component ได้
-
-
StirctMode + StrictEffect
- เพื่อดูว่ามีโค้ดที่อาจก่อปัญหากับ OffScreen API ที่จะเพิ่มเข้ามาในอนาคต รวมถึง Fast Refresh ที่มีอยู่แล้วหรือไม่ ในสภาพแวดล้อม dev จะมีการ render สองครั้งรวมถึง effect ด้วย ดังนั้นเวลาเขียนโค้ดคอมโพเนนต์ ต้องเขียนให้ไม่มีปัญหาแม้ effect จะถูกรันหลายครั้ง เช่น mount, unmount, mount
ยังไม่มีความคิดเห็น