การทำงานกับ radio ใน React

การทำงานกับ radio radio นั้นค่อนข้างแตกต่างออกไป เช่น เมื่อเทียบกับ checkbox ปัญหาอยู่ที่ว่า radio หลายๆ ปุ่มจะมี state เดียวกัน แต่มี value ที่ต่างกัน

ดังนั้นวิธีการทำงานจึงเป็นดังนี้: ให้กำหนดค่าเฉพาะของแต่ละปุ่ม radio ในแอตทริบิวต์ value และกำหนดเงื่อนไขพิเศษในแอตทริบิวต์ checked ซึ่งจะตรวจสอบว่า state นั้นเท่ากับค่าที่กำหนดหรือไม่ ถ้า เท่ากัน - ปุ่ม radio นั้นจะถูกเลือก (checked) แต่ถ้าไม่เท่ากัน - จะไม่ถูกเลือก

นี่คือการนำวิธีที่อธิบายไว้ไปปฏิบัติ:

jsxfunction App() {
  const [value, setValue] = useState(1);
  
  function changeHandler(event) {
    setValue(event.target.value);
  }
  
  return <div>
    <input
      type="radio"
      name="radio"
      value="1"
      checked={value === '1' ? true : false}
      onChange={changeHandler}
    />
    <input
      type="radio"
      name="radio"
      value="2"
      checked={value === '2' ? true : false}
      onChange={changeHandler}
    />
    <input
      type="radio"
      name="radio"
      value="3"
      checked={value === '3' ? true : false}
      onChange={changeHandler}
    />
  </div>
}
Задание 1

มีปุ่ม radio อยู่ 3 ปุ่ม มีพารากราฟหนึ่ง จงทำให้ ค่าของปุ่ม radio ที่ถูกเลือก แสดงออกมาในพารากราฟนี้

Задание 2

ใช้ปุ่ม radio ถามผู้ใช้เกี่ยวกับ ภาษาโปรแกรมมิ่งที่เขาชื่นชอบ แสดง ผลลัพธ์ที่ผู้ใช้เลือกในพารากราฟ ถ้าผู้ใช้เลือกภาษา JavaScript ให้ชมผู้ใช้นั้น