This project was bootstrapped with Create React App.
Thanks to Chuck Norris Jokes API.
- salvare il contenuto di
input
, rendendolo quindi un componente controllato; - al click del pulsante
.Search-Button
, recuperare la lista delle citazioni; utilizzando l'input salvato al punto precedente, interrogando l'api all'indirizzo definito dalla costanteALLJOKESBYKEYWORD
(a cui si deve aggiungere la parola chiave); - Ogni qual volta è in corso una chiamata API, il componente
Logo
deve roteare grazie alla classe CSSApp-Logo-Spinning
; - Salve la prima delle citazioni ottenuta tramite
3)
e visualizzarla tramite il componenteJoke
(un eventuale categoria selezionata deve essere rimossa); - Far sparire la porzione di codice nel
render()
per visualizzare la categoria selezionata nel caso in cui quest'ultima sia assente (ad esempio dopo la ricerca del punto 2); - In caso di errore dalle api, richiamare la funzione
launchErrorAlert()
tramite un meccanismo scaturito al di fuori delle funzioni delle funzioni che effettuano la chiamata;- all'interno della funzione da cui è scaturito l'errore, invece, mostrare nella parte di costrutto del
catch()
unconsole.error()
contentente un messaggio di errore specifico:- ad esempio, cercando come parola chiave "xyz" non otterremo alcun risultato.
- all'interno della funzione da cui è scaturito l'errore, invece, mostrare nella parte di costrutto del
- all'avvio dell'applicazione, recuperare la lista delle categorie interrogando l'api all'indirizzo definito dalla costante
ALLCATEGORIESURL
- salvare il contenuto della chiamata precedente e passarlo al componente
<CategoriesList />
che a sua volta renderizzerà un<CategoryButton />
per ciascuno dei suoi elementi; - Al click di un
<CategoryButton />
la categoria da esso rappresentato deve essere salvata e mostrata in.Selected-Cat
- Recuperare una barzelletta casuale per la categoria selezionata tramite il punto
9)
premendo il pulsante.RandomButton
, interrogando le api all'indirizzo specificato dalla costanteRANDOMJOKEBYCATURL
(a cui si deve aggiungere la categoria selezionata); - Salvare la barzelletta recuperata nel punto precedente e visualizzarla tramite il componente
<Joke />
; - Resettare il campo di input di testo per keyword quando viene visualizzata una la barzelletta casuale per categoria;
- Al click di una categoria tramite il componente
<CategoryButton />
far sparire la citazione recuperata per la categoria precedente.
E' possibile eseguire gli esercizi utilizzando una delle due sintassi fra FC (Functional Component) e Class Component.
Per ottenere la sufficienza, è necessario svolgere in maniera corretta :
- i punti da 1) a 6) utilizzando la sintassi del FC per il componente
App
- i punti da 1) a 8) utilizzando la sintassi del Class Component per il componente
App
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console