ในการสร้าง Application สักตัว ณ ปัจจุบันมีหลายทางเลือกในการที่ทำให้เกิดขึ้นได้จริง ซึ่งส่วนมากจะอยู่บน Language หรือ Framework อย่าง Swift, Kotlin, Xamarin(C#) หรืออื่นๆ แต่สำหรับคนที่มาทาง web developer มาก่อน ส่วนใหญ่น่าจะคุ้นชินกับ Html, CSS, Javascript โดยพื้นฐาน ซึ่งในที่นี้ผมจะแนะนำ Framework สำหรับ สร้าง Application โดย Javacript อย่าง React Native โดยจะมี 7 หัวข้อคร่าวๆที่ผมจะแนะนำในการสร้าง Application

LifeCycle — React 16.3 +

เริ่มแรกเลย เราจำเป็นต้องรู้เกี่ยวกับการทำงานของ React สำหรับเวอร์ชั่น 16.3 …

สำหรับ React 16.3 ขั้นไป นั้นจะมีการเปลี่ยนแปลง API บางตัว หรือยกเลิกใน LifeCycle ใน React 17 เช่น componentWillMount , componentWillReceiveProps , componentWillUpdate โดยทั้งหมดนั้นยังสามารถจะใช้ได้แต่จะถูกเปลี่ยนชื่อโดยการเติม prefix อย่าง UNSAFE_ ไว้ใน 16.3 อย่างไรก็ตาม เราควรจะเลี่ยงการใช้งาน หากจำเป็นต้องใช้งานจริงๆ ควรที่จะใช้ API ตัวใหม่ที่มาแทนที่

componentWillMount

ควรใช้ส่วนของ constructor แทนเมื่อต้องการ initialize ค่าของ component นั้น ก่อนที่จะ mount

componentWillReceiveProps

ควรใช้ getDerivedStateFromProps แทนในกรณีต้องการปรับ state ใหม่ ใน component หรือ เลี่ยงมาใช้ componentDidUpdate ในกรณี ต้องการ side-effect ในการ fetch data ต่างๆ

componentWillUpdate

componentWillUpdate ควรใช้ getDerivedStateFromProps แทนในกรณีต้องการปรับ state ใหม่ ใน component

ภาพสรุป LifeCycle ใน React 16.3 ขึ้นไป

https://twitter.com/dan_abramov/status/981712092611989509

อ้างอิง :
https://hackernoon.com/problematic-react-lifecycle-methods-are-going-away-in-react-17-4216acc7d58b

https://reactjs.org/docs/react-component.html

Kitti Pariyaakkarakul

Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store