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