Kodokon kodokon.com

ทำไมต้อง React, คอมโพเนนต์แรกของคุณ และ JSX

มาทำความรู้จักว่า React คืออะไร เขียนคอมโพเนนต์แรกของคุณ และเรียนรู้กฎพื้นฐานของ JSX

8 นาที · 3 คำถาม

เปิดบทเรียนนี้ใน Kodokon

React คือ ไลบรารี JavaScript หรือพูดอีกอย่างคือกล่องเครื่องมือของโค้ดที่พร้อมใช้งาน สร้างขึ้นเพื่อสร้าง ส่วนติดต่อผู้ใช้ (user interface): ทุกสิ่งที่คุณเห็นและโต้ตอบด้วยบนหน้าจอ (ปุ่ม เมนู ฟอร์ม...) สิ่งที่ต้องรู้มาก่อนสำหรับโมดูลนี้มีเพียงพื้นฐาน JavaScript (ตัวแปร ฟังก์ชัน อาร์เรย์) เพื่อทำความเข้าใจว่าทำไม React จึงสำคัญ เรามาดูกันก่อนว่าจะเปลี่ยนหน้าเว็บ โดยไม่ใช้ React ได้อย่างไร

JAVASCRIPT
const el = document.getElementById("title");
el.textContent = "Hello!";
el.style.color = "green";
การเปลี่ยนหน้าเว็บ "ด้วยมือ" โดยใช้ JavaScript ล้วน ๆ

วิธีนี้ใช้งานได้ แต่ทันทีที่หน้าเว็บเริ่มใหญ่ขึ้น คุณต้องตามหาทุกอิลิเมนต์ อัปเดตมันในจังหวะที่ถูกต้อง และห้ามลืมสักตัวเลย... มันกลายเป็นสิ่งที่จัดการไม่ไหวอย่างรวดเร็ว React เสนอแนวคิดที่ต่างออกไป: แบ่งส่วนติดต่อผู้ใช้ออกเป็น คอมโพเนนต์ คอมโพเนนต์ คือฟังก์ชัน JavaScript ที่อธิบายชิ้นส่วนหนึ่งของส่วนติดต่อผู้ใช้ (ปุ่ม การ์ด เมนู) เหมือนตัวต่อเลโก้ คุณนำมาประกอบกันเพื่อสร้างหน้าเว็บทั้งหน้า และ React จะดูแลให้หน้าจออัปเดตอยู่เสมอแทนคุณ

JSX
import { createRoot } from "react-dom/client";

function Hello() {
  return <h1>Hello!</h1>;
}

const root = createRoot(document.getElementById("root"));
root.render(<Hello />);
คอมโพเนนต์แรกของคุณ ที่แสดงบนหน้าเว็บ

ฟังก์ชัน Hello คือคอมโพเนนต์: มันคืนค่าสิ่งที่ดูเหมือน HTML ที่เขียนอยู่ภายใน JavaScript โดยตรง ไวยากรณ์แบบนี้เรียกว่า JSX มีสามกฎที่ต้องจำ: คอมโพเนนต์คืนค่า อิลิเมนต์แม่เพียงตัวเดียว; แอตทริบิวต์บางตัวเปลี่ยนชื่อ (class กลายเป็น className); ทุกแท็กต้องถูกปิด (เช่น <img />) JSX มีพลังพิเศษ: วงเล็บปีกกา { } ช่วยให้คุณแทรกค่า JavaScript ใด ๆ ลงในผลลัพธ์ได้

JSX
function Welcome() {
  const firstName = "Sarah";
  return <h2>Welcome, {firstName}!</h2>;
}
วงเล็บปีกกาแทรกค่า JavaScript ลงใน JSX

ทดสอบความรู้

ตรวจสอบว่าคุณจำประเด็นสำคัญของบทเรียนนี้ได้ครบถ้วน

  1. React คืออะไร?
    • ภาษาโปรแกรมที่มาแทนที่ JavaScript
    • ไลบรารี JavaScript สำหรับสร้างส่วนติดต่อผู้ใช้
    • เครื่องมือวาดภาพสำหรับสร้างแบบร่างเว็บไซต์
  2. ใน React คอมโพเนนต์คืออะไร?
    • ฟังก์ชัน JavaScript ที่คืนค่า JSX
    • ไฟล์ CSS ที่จัดวางเลย์เอาต์ของเว็บไซต์
    • ฐานข้อมูลที่เก็บข้อมูลผู้เยี่ยมชม
  3. วงเล็บปีกกา { } ใช้ทำอะไรใน JSX?
    • เพื่อเขียนคอมเมนต์ HTML
    • เพื่อสร้างลูปโดยอัตโนมัติ
    • เพื่อแทรกค่า JavaScript ลงในผลลัพธ์