Dark mode
Data Binding ใน React: เข้าใจการเชื่อมโยงข้อมูลกับ UI
Data Binding คือการเชื่อมโยงข้อมูลระหว่างตัวแปร (state, props) กับ UI ใน React จะเป็นแบบ one-way data binding (ข้อมูลไหลจาก state/props ไป UI)
1. One-way Data Binding
ค่าจาก state หรือ props จะถูกส่งไปแสดงผลใน UI
jsx
function Welcome() {
const name = "Alice";
return <h1>สวัสดี {name}</h1>;
}
2. การ binding state กับ input (Two-way Data Binding แบบ Controlled Component)
React ไม่มี two-way data binding แบบอัตโนมัติ แต่เราทำได้โดยใช้ state ควบคุมค่า input
jsx
import { useState } from "react";
function NameInput() {
const [name, setName] = useState("");
return (
<div>
<input
value={name}
onChange={e => setName(e.target.value)}
placeholder="กรอกชื่อ"
/>
<p>คุณกรอก: {name}</p>
</div>
);
}
อธิบาย:
value={name}
binding ค่า state กับ inputonChange
จะอัปเดต state เมื่อผู้ใช้กรอกข้อมูล
3. การ binding ข้อมูลจาก parent (props)
jsx
function Greeting({ user }) {
return <h2>ยินดีต้อนรับ {user}</h2>;
}
// ใช้งาน
<Greeting user="Bob" />;
4. Best Practices
- ใช้ state ควบคุม input เสมอ (controlled component)
- อย่าเปลี่ยนแปลง props โดยตรง
- ข้อมูลควรไหลจาก parent → child เท่านั้น
สรุป
Data binding ใน React ช่วยให้ UI และข้อมูลสอดคล้องกันตลอดเวลา เข้าใจหลักการนี้จะช่วยให้เขียน React ได้อย่างมั่นใจและแก้บั๊กได้ง่ายขึ้น