Dark mode
Event Handling ใน React: จัดการเหตุการณ์แบบมือโปร
การจัดการ event ใน React ทำได้ง่ายและปลอดภัยกว่าการใช้ JavaScript ธรรมดา เพราะทุกอย่างอยู่ในรูปแบบของ JSX และ function
1. การกำหนด event handler
jsx
function ClickMe() {
function handleClick() {
alert("คุณคลิกปุ่ม!");
}
return <button onClick={handleClick}>คลิกฉัน</button>;
}
2. การส่ง parameter ให้ event handler
jsx
function DeleteButton({ id, onDelete }) {
return (
<button onClick={() => onDelete(id)}>
ลบ
</button>
);
}
อธิบาย:
ใช้ arrow function เพื่อส่ง parameter เข้าไปใน handler
3. ตัวอย่าง event ยอดนิยม
onClick
สำหรับปุ่มonChange
สำหรับ inputonSubmit
สำหรับ form
jsx
import { useState } from "react";
function FormExample() {
const [email, setEmail] = useState("");
function handleSubmit(e) {
e.preventDefault();
alert(`ส่งอีเมล: ${email}`);
}
return (
<form onSubmit={handleSubmit}>
<input
value={email}
onChange={e => setEmail(e.target.value)}
placeholder="อีเมล"
/>
<button type="submit">ส่ง</button>
</form>
);
}
4. Best Practices
- อย่าใส่วงเล็บหลังชื่อ function ใน JSX เช่น
onClick={handleClick}
ไม่ใช่onClick={handleClick()}
- ถ้าต้องส่ง parameter ให้ใช้ arrow function
- ใช้ชื่อ function ที่สื่อความหมาย เช่น
handleClick
,handleChange
สรุป
Event handling ใน React ช่วยให้โค้ดของคุณอ่านง่าย ควบคุม UI ได้อย่างยืดหยุ่น และลดโอกาสเกิดบั๊กจากการจัดการ event แบบเดิม ๆ