รู้จักกับ React Hook และ Component

/ 2 min read

Share on social media

react-start สามารถดู video ของหัวข้อนี้ก่อนได้ ดู video

React คืออะไร

Ref: https://react.dev/ React คือ library สำหรับ web และ native user interfaces ที่ใช้สำหรับการพัฒนา web application ฝั่ง Frontend

  • มอง web app ทั้งหมดเป็น component based
  • ใช้ภาษา JSX เป็น based ในการจัดการ style และ component (เพิ่มความสามารถของ javascript ให้จัดการฝั่ง html ไปร่วมกันได้) = จริงๆแล้วมันคือ based javascript
  • แถม support ทุก platform ด้วย
  • ใครที่รู้จัก Vue มา มีสถานะที่คล้ายๆกัน คือเป็น library Frontend เหมือนกัน แต่ไอเดียการพัฒนาจะเป็นไปในคนละแบบกัน

Start project React

Ref: https://react.dev/learn/start-a-new-react-project

  • จริงๆเราสามารถลงเพียงแค่ library React แล้วสามารถเริ่ม development ได้เลย
  • แม้แต่ React เองก็แนะนำใช้ Next เลยสำหรับการทำงาน

แต่ทีนี้ เพื่อให้เข้าใจพื้นฐานของ React เราจะมาเริ่มเล่นจาก Vite กันก่อน จาก https://vitejs.dev/guide/

Start tutorial

เนื่องจากผมไปเจอว่า Document ของ https://react.dev/learn มันดีอยู่แล้ว ผมจะ follow หัวข้อตามนี้ โดยปรับโจทย์ของเราเป็น Todo list ออกมาแทน

โดยเนื้อหาลองไมค์สำหรับ React เราจะแบ่งออกเป็น 2 ตอนใหญ่ๆ

  1. (ตอนนี้) สำหรับปูพื้นฐาน React
  2. สำหรับลุยต่อกับ Next.js

เพื่อให้ตอนที่เราทำ Next.js จะได้ไม่สับสนกับพื้นฐานของ Component, Condition, State ของ React ด้วย

หัวข้อที่เราจะเรียนรู้กัน เราจะเรียนรู้ผ่าน 4 หัวข้อใหญ่ๆคือ

  1. React Component / Props
  2. Condition / Loop
  3. React Hook สำหรับจัดการ state
  4. React router (React router DOM)

ซึ่งผมมองว่า เนื้อหา 4 เรื่องนี้เป็นเนื้อหาที่ครอบคลุม เนื้อหาเกือบทั้งหมดโดยประมาณของ React และ

  • พวกที่เป็น practice การพัฒนาว่าควรวาง project ยังไง เราจะไปคุยกันที่ Next.js อีกที

React Component / Props

Condition / Loop

React Hook (จัดการ state)

Ref:

React Hook คือ built-in API function ของ React ที่ทำให้สามารถจัดการ State โดยใช้ไอเดียของการ “Hook” React state และมาจัดการผ่าน Lifecycle ของ Hook แทน

  • เป็น feature ที่เพิ่มมาหลัง React 16.8

  • จุดประสงค์ของการเพิ่มเพื่อลดความยุ่งยากในการใช้การเขียน Component ที่ต้องผูกติดกับ class ของ React = ทำให้ React ไม่จำเป็นต้องมี state อย่าง lifecycle แต่จัดการ lifecycle ผ่าน Hook แทน

  • ลองใช้ useState

  • ใช้ useRef (เก็บข้อมูลด้านหลัง)

  • ใช้ useEffect​ (Connect API)

  • ใช้ useReducer (จัดการ state ที่ complex มากขึ้น)

React router dom

Ref: https://reactrouter.com/en/main/start/tutorial

** แต่จริงๆ ตัวนี้ถ้าใครใช้ next ก็จะจัดการ router ผ่าน app router ของ next แทน แต่เผื่อสำหรับใครที่จะใช้ React พัฒนาล้วนๆ

  • จัดการ URL ผ่าน params (useParams)

Related Post
  • มารู้จักกับ gRPC และ Go กัน
    มี Video
    เรียนรู้การใช้งาน gRPC กับ Go ตั้งแต่การสร้าง Protocol Buffers, การทำ Server/Client และการจัดการ Error รวมถึง Best Practice ในการใช้ API Gateway
  • OAuth คืออะไร ?
    มี Video
    มารู้จักกับพื้นฐาน OAuth กันว่ามันคืออะไร และสิ่งที่เรากำลังทำกันอยู่คือ OAuth หรือไม่
  • หาจุดซื้อขายในโลกของ Bot Trade เขาทำกันยังไง ?
    มี Video มี Github
    เรื่องนี้สืบเรื่องจากที่ผมไปนั่งฟังเรื่องการทำ AI มา แล้วก็มีคนมาสอบถามผมประมาณว่า ทำ bot trade เนี้ยจริงๆเขาทำกันยังไง ผมก็คิดว่าก็ไม่น่ายากนะ
  • Random บน Computer สุ่มแบบไหนเราถึงเรียกว่าสุ่ม ?
    มี Video
    เคยสงสัยกันไหมครับ เวลาที่เราทอยลูกเต๋า สุ่มหยิบการ์ดออกจากกอง หรือแม้แต่สุ่มโดยการทอยเหรียญ สิ่งนี้เมื่อย้ายเข้าไปทำงานอยู่บนคอมพิวเตอร์มันทำงานยังไง

Share on social media