Oggetto Event nella trasmissione di parametri

Supponiamo di avere una certa funzione func che vogliamo utilizzare come gestore di eventi. Supponiamo che questa funzione accetti un certo parametro:

jsxfunction func(arg) {
  console.log(arg);
}

Usiamo questa funzione come gestore, passandole un parametro:

jsxfunction App() {
  function func(arg) {
    console.log(arg);
  }
  
  return <div>
    <button onClick={() => func('eee')}>act</button>
  </div>;
}

Ora supponiamo che, oltre al parametro, vogliamo ottenere nella nostra funzione l'oggetto Event. Per fare questo dobbiamo procedere nel modo seguente:

jsxfunction App() {
  function func(arg, event) {
    console.log(arg, event);
  }
  
  return <div>
    <button onClick={event => func('eee', event)}>act</button>
  </div>;
}
Задание 1

Spiegate come funziona il codice fornito.

Задание 2

Modificate il codice fornito in modo che la funzione accetti due parametri.

Задание 3

Modificate il problema precedente in modo che l'oggetto dell'evento venga trasmesso come primo parametro della funzione, e non come ultimo.

Задание 4

Modificate il problema precedente in modo che l'oggetto dell'evento venga trasmesso come secondo parametro della funzione, trovandosi tra il primo e il terzo parametro.