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

클릭 시 배열의 끝에 새 요소를 추가하여 ul 태그의 끝에 새 li를 추가하는 버튼을 만드세요.

Задание 2

세 개의 입력 필드와 버튼을 만드세요. 버튼을 클릭하면 입력 데이터로부터 새로운 li를 만들어 ul 태그의 끝에 추가하세요.