Thao tác phản ứng trên mảng trong React

Bây giờ hãy học cách thực hiện các thao tác phản ứng với các phần tử mảng. Để làm điều này, chúng ta sẽ đính kèm một trình xử lý sự kiện vào mỗi li, trong đó chúng ta sẽ truyền số thứ tự của li đó trong mảng dưới dạng tham số:

jsxfunction App() {
  const [notes, setNotes] = useState([1, 2, 3, 4, 5]);
  
  const result = notes.map((note, index) => {
    return <li key={index} onClick={() => doSmth(index)}>
      {note}
    </li>;
  });
  
  return <div>
    <ul>
      {result}
    </ul>
  </div>;
}

Bên trong hàm của chúng ta, chúng ta có thể thực hiện bất kỳ thao tác nào trên phần tử mảng của mình:

jsxfunction App() {
  ...
  
  function doSmth(index) {
    let copy = Object.assign([], notes);
    copy[index] += '!'; // làm gì đó với phần tử
    setNotes(copy);
  }
}
Задание 1

Cho một mảng số. Hiển thị nó dưới dạng danh sách ul. Khi nhấp vào bất kỳ li nào, hãy bình phương số của nó.

Задание 2

Ở cuối mỗi li, hãy tạo một nút, khi nhấn vào nút đó thì li đó sẽ bị xóa khỏi danh sách.

Задание 3

Cho một ô nhập liệu (input). Khi nhấp vào bất kỳ li nào, hãy làm sao để văn bản của li đó được đưa vào ô nhập liệu.

Задание 4

Chỉnh sửa bài tập trước sao cho khi mất tiêu điểm (blur) khỏi ô nhập liệu, văn bản đã thay đổi sẽ được đưa vào li tương ứng.

Задание 5

Cho một nút bấm. Khi nhấp vào nút này, hãy đảo ngược thứ tự của các li.