Crea blocchi rosso, blu e grigio usando solo CSS (senza modificare la struttura, senza aggiungere contenitori). I blocchi devono essere disposti secondo l'esempio nell'immagine. È possibile impostare stili per il contenitore e per i blocchi stessi.
Frontend
Implementa una funzione mapper che accetta dati (source), campi (fields), filtro (filter) e ordinamento (order). È necessario: validare i parametri (fields deve essere un array, source/filter/order sono funzioni, i campi in fields devono essere presenti nei dati), ottenere i dati chiamando source(), filtrare con filter, ordinare con order e restituire solo i campi richiesti in fields.
Esegui una revisione del codice del componente React che esegue il cambio dei dati, chiama una funzione di stringa e visualizza un elenco. Trova e correggi tutti gli errori e problemi (async in useEffect, assenza di un array di dipendenze, uso dell'indice come key, ecc.).
Usando solo l'API DOM (senza React, tramite document), scrivi un codice in cui cliccando su uno qualsiasi dei rettangoli ne venga visualizzato il colore. È consigliabile usare un solo gestore di eventi per tutti gli elementi. Qual è la differenza tra event.target e event.currentTarget?
Implementa il metodo run della classe Queue in modo che l'implementazione corrisponda all'esempio di utilizzo. Il metodo run deve eseguire sequenzialmente le funzioni asincrone passate. La funzione successiva in coda può essere chiamata solo dopo aver chiamato next. Se si verifica un errore in una delle funzioni, le funzioni successive non vengono chiamate. I metodi devono supportare il chaining.
Scrivi un componente React con un pulsante Aggiungi. Quando si clicca sul pulsante Aggiungi, viene aggiunto un nuovo pulsante con un numero di ordine. Quando si clicca sul pulsante creato, esso viene rimosso. La rimozione deve funzionare correttamente (non per indice, ma per identificatore univoco).
Implementa la funzione asyncFilter, che prende un array di numeri e una funzione predicato asincrona, e restituisce un array filtrato. Ad esempio, con l'input [1, 2, 3] e una funzione che lascia passare solo i numeri dispari, l'output dovrebbe essere [1, 3].