Реактивное добавление в массив в React

Давайте поработаем с реактивным добавлением элементов в массив. Пусть для примера у нас есть массив, который выводится в виде списка ul:

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

Сделайте кнопку, по нажатию на которую будет добавляться новый элемент в конец массива, тем самым добавляя новый li в конец тега ul.

Задание 2

Сделайте инпут и кнопку. По нажатию на кнопку пусть текст инпута станет новым тегом li в конец тега ul.