การเพิ่มแบบรีแอคทีฟให้กับอาร์เรย์ของออบเจ็กต์ใน React

ทีนี้ เรามาศึกษาเรื่องความเป็นรีแอคทีฟของอาร์เรย์ ออบเจ็กต์กัน ในกรณีนี้ เราจะต้อง ทำการเปลี่ยนแปลงใดๆ โดยอ้างอิงถึงองค์ประกอบต่างๆ ผ่าน id ซึ่งเก็บไว้ภายในออบเจ็กต์นั้นๆ เอง

มาลองทำกัน สมมติว่าเรามี อาร์เรย์ของออบเจ็กต์ดังต่อไปนี้:

jsxconst initNotes = [
  {
    id: 'GYi9G_uC4gBF1e2SixDvu',
    prop1: 'value11',
    prop2: 'value12',
    prop3: 'value13',
  },
  {
    id: 'IWSpfBPSV3SXgRF87uO74',
    prop1: 'value21',
    prop2: 'value22',
    prop3: 'value23',
  },
  {
    id: 'JAmjRlfQT8rLTm5tG2m1L',
    prop1: 'value31',
    prop2: 'value32',
    prop3: 'value33',
  },
];

มาแสดงผลแต่ละองค์ประกอบของ อาร์เรย์ของเราในแท็ก li แยกกัน:

jsxfunction App() {
  const [notes, setNotes] = useState(initNotes);
  
  const result = notes.map(note => {
    return <li key={note.id}>
      <span>{note.prop1}</span>
      <span>{note.prop2}</span>
      <span>{note.prop3}</span>
    </li>;
  });
  
  return <div>
    <ul>
      {result}
    </ul>
  </div>;
}
Задание 1

สร้างปุ่ม เมื่อคลิกที่ปุ่มนั้น จะเพิ่มองค์ประกอบใหม่ ที่ส่วนท้ายของอาร์เรย์ ดังนั้นจึงเพิ่ม li ใหม่ที่ส่วนท้ายของแท็ก ul

Задание 2

สร้างอินพุตสามช่องและปุ่มหนึ่งปุ่ม เมื่อคลิก ที่ปุ่ม ให้สร้าง li ใหม่จากข้อมูลในอินพุต ที่ส่วนท้ายของแท็ก ul