Hooks คืออะไร? ทำไมคนเขียน React ควรใช้? | Skooldio Blog
Technology

Hooks คืออะไร ทำไมคนเขียน React ถึงควรเปลี่ยนมาใช้

Hooks คืออะไร  และช่วยแก้ปัญหาอะไร?

ยุคก่อน React Hooks นั้นการเขียนโปรแกรมจะมี 2 แบบหลักๆ คือ Function Component กับ Class Component โดยการเขียนแบบ Function Component แบบเก่านั้นเราจะแค่โยน props เข้าไปแล้ว render ออกมา แต่ไม่สามารถ setState และ setLifeCycle ต่างๆ ได้ ถ้าเราอยาก setState เราจำเป็นที่จะต้องรื้อ Function Component และเปลี่ยนให้เป็น Class Component เพื่อให้สามารถ setState ต่างๆ ได้ ซึ่งการรื้อ Code ก็จำเป็นที่จะต้องใช้แรงพอสมควร

นอกจากนี้การใช้ Life Cycle แบบเก่านั้นค่อนข้างมีความซับซ้อน และไม่เป็นระบบ ทำให้ยากที่จะ reuse Business Logic ที่กระจายอยู่ตาม Life Cycle ต่างๆ  ต้องใช้เทคนิคการ reuse ที่มีความซับซ้อนมากขึ้น เช่น HoC หรือ Render props 

ซึ่งการทำแบบนี้ค่อนข้างกินเวลา และได้ Productivity ต่ำ เพื่อกลบจุดอ่อนนี้ Facebook จึงได้ออก Hooks ออกมา

ข้อดีของ React Hooks

การที่เราเขียน React แบบใช้ Hooks จะช่วยให้เรา

  1. Reuse Component ได้ง่ายขึ้น เนื่องจาก Hooks ได้แยกในส่วนของ Logic และ View ออกจากกัน
  2. Code Clean ขึ้น เนื่องจาก Hooks เปลี่ยนวิธีการจัดการ Life Cycle ที่ยุ่งยาก ให้ง่ายขึ้นกว่าเดิม
  3. ไม่ต้องใช้ this ในการ Bind Class แล้ว เนื่องจากการเขียน Hooks นั้นต้องเขียนบน Function Component เท่านั้น

ตัวอย่างของ code การเปลี่ยน Class Component มาเขียนเป็นแบบ React Hooks

Hooks คืออะไร? ทำไมคนเขียน React ควรใช้? | Skooldio Blog

ซึ่งจะเห็นได้ว่า Code Clean ขึ้นมากกว่าเดิม และความยุ่งยากในการจัดการ State น้อยลง

นอกจากนี้ความพิเศษของ Hooks คือเราสามารถสร้าง Hooks ของตัวเองขึ้นมาใช้งานได้จาก Hooks พื้นฐาน (Primitive Hooks) ที่ React เตรียมไว้ให้ตั้งแต่ version 16.8.0 เป็นต้นไป 

ถ้าหากคุณกำลังรู้สึกว่า React Hooks น่าใช้ แต่ไม่รู้จะเริ่มต้นอย่างไร ? มาเรียนรู้วิธีการเปลี่ยนความยุ่งยากให้เป็นเรื่องง่ายๆ ได้แบบ Best practice ไปกับผู้เชี่ยวชาญตัวจริงคุณปันเจ-ปัญจมพงศ์ เสริมสวัสดิ์ศรี Google Developers Expert สาขา Web Technologies และ C-3PO (Product, Process, Programming) ที่ Cleverse

Hooks คืออะไร? ทำไมคนเขียน React ควรใช้? | Skooldio Blog

จะเขียน React แบบเดิมไปทำไม ลอง React Hooks กัน!

Ref: React: Class Component VS Function Component with Hooks – DEV Community

You may also like

Kotlin จะมาแทนที่ Java หรือไม่ ทำไม Google เลือก Kotlin เป็นภาษาหลักในการพัฒนา Android - Skooldio Blog | รูปหน้าปก
Technology

ทำไมภาษา Kotlin ถึงเป็นภาษาหลักในการพัฒนา Android? และ Kotlin จะมาแทนที่ Java หรือไม่?

ทำไมภาษา Kotlin ถึงเป็นภาษาแห่งอนาคตของนักพัฒนา Android อะไรคือเหตุผลที่ Google ประกาศรับรองให้ Kotlin เป็นภาษาหลักในการพัฒนา Android และ Kotlin จะมาแทนที่ Java หรือไม่.. ...
Business

อยากเป็นสาย Data เก่ง ๆ ต้องฝึก! 6 ทักษะช่วย Data Scientist ทำงานปัง

บทความจาก Harvard Business Review ชวนเราขบคิดถึงปัญหาของ Data Scientist ในองค์กรใหญ่ เมื่อถึงเวลาที่ต้องนำเสนอข้อมูล บ่อยครั้งที่ Data Scientist ต้องกุมขมับ เพราะไม่รู้จะพูดอย่างไรให้ผู้บริหารเข้าใจ บางครั้งเห็นข้อมูลสำคัญมากอยู่ตรงหน้า ...

More in:Technology

Technology

Kotlin ภาษาแห่งอนาคตของนักพัฒนา Android

Kotlin เป็นหนึ่งในภาษา Programming ที่กำลังได้รับความนิยมอย่างมากในวงการ ซึ่งผลสำรวจจาก JetBrains ในเดือนธันวาคม ปี 2019 พบว่ามีนักพัฒนาจำนวน 4 ล้านคนกำลังใช้ Kotlin จากผลสำรวจของ 2020 ...
จาก React Developer สู่การทำ Flutter Developer | Skooldio Blog Technology

จาก React Developer สู่การทำ Flutter Developer

ในช่วง 2 – 3 ปีมานี้นักพัฒนาหรือผู้ที่มีความสนใจในเทคโนโลยีหลายๆ คนคงจะเคยได้ยินหรือได้รู้จักสิ่งที่เรียกว่า Flutter มาบ้างแล้ว ผมเองก็เป็นหนึ่งในนั้นที่ได้รู้จักกับ Flutter มาซักพักแล้วแต่ไม่ได้มีโอกาสศึกษาและทำความเข้าใจมันสักที จนเมื่อไม่นานมานี้ ได้มีโอกาสได้ศึกษาเจ้า Flutter และนำมาใช้ในการพัฒนาแอปพลิเคชันๆ ...
6 Apps using Flutter Technology

6 บริษัทยักษ์ใหญ่ที่เลือกใช้ Flutter พัฒนาแอปฯ

เทคโนโลยีทีก้าวหน้าไปอย่างรวดเร็ว การพัฒนาแอปพลิเคชั่นที่เริ่มจากแบบ native คือพัฒนาไปทีละแพลตฟอร์ม หรือต้องมีหลายทีมในการพัฒนาแอปพลิเคชันเพียงตัวเดียว ก็ถูกพัฒนามาอย่างต่อเนื่อง โดยเฉพาะ framework สำหรับพัฒนาแอปฯ ที่เริ่มก้าวกระโดดมากขึ้น ด้วยการมีสิ่งที่เรียนกว่า Cross-Platform Application Framework มานั่นเอง ...
4 ข้อดีของการพัฒนาแอปพลิเคชันด้วย Flutter | Skooldio Blog Technology

4 ข้อดีของการพัฒนาแอปพลิเคชันด้วย Flutter

ปัจจุบันนี้ Application เป็นส่วนหนึ่งที่มีผลต่อการทำธุรกิจ เนื่องจากการที่เรามี Application นั้นจะช่วยเพิ่มความสะดวกสบายให้กับลูกค้าในการใช้บริการต่างๆ และยังเพิ่มช่องทางในการติดต่อลูกค้าสำหรับแบรนด์ของเราอีกด้วย ซึ่งส่งผลให้ลูกค้านั้นสามารถจดจำเราได้มกายิ่งขึ้น แต่ว่าธุรกิจในยุคนี้จำเป็นที่จะต้องแข่งกับความเร็ว เนื่องจาก Requirement (ความต้องการ) ของ User เปลี่ยนไปในทุกๆวัน  ...

Comments are closed.