Logo Hpv 4 Learning
Academy
Web Agency
react

Creare una Web App Completa in React

By Hpv4Learning 2 min25/04/2021
"In questo progetto andremo a realizzare una React App completa con un API per cercare il proprio cocktail preferito"
Cocktail

Troverai nel progetto

Che cosa realizzeremo in questo progetto ?

In questo progetto andremo a realizzare una React App completa. La nostra app comprenderà una Home Page una About Page e l'interazione con un API per cercare il proprio cocktail preferito e accedere a una pagina con tutte le istruzioni per realizzare il cocktail scelto

Che cosa useremo nella nostra applicazione ?

  • useState: Ci permetterà di tenere traccia dei nostri state all'interno della nostra applicazione

  • useContext: La nostra applicazione sarà abbastanza articolata e ci richiederà di condividere i nostri state tra più componenti

  • useEffect: Andremo a fetchare dati da un Api quindi sarà per noi necessario gestire i nostri sideEffects.

  • useRef: Lo useremo per tenere traccia della posizione dell'utente sulla pagina quando tornerà indietro in modo da offire una esperienza di navigazione ottimale

Che librerie e API utilizzeremo ?

All'interno del nostro progetto utilizzeremo sia delle librerie che un API nello specifico approfondiremo:

  • React Router v6 e v5: Andremo a realizzare la navigazione della nostra applicazione usando sia l'ultima versione di react router sia quella precedente perchè ancora ampiamente supportata nella maggior parte dei prodotti.

  • Styled Components: Realizzeremo i nostri componenti utilizzando una delle librerie più diffuse nell'ecosistema di React. Questa libreria ci permette di definire dei componenti con del css al loro interno.

  • axios: Questa libreria per viene usata al posto del native fetch.

  • TheCockailDB: Questa API gratuita è un gigantesco archivio di Cocktail e Ingredienti e ci permetterà d'implementare la ricerca e di mostrare ai nostri utenti gli ingredienti per comporlo. Docs

Come usare i Custom Hooks

Infine andremo a creare dei custom hooks per gestire il data fetching e per gestire, seppur in minima parte, la SEO in maniera dinamica.

Ecco un esempio di custom hook per il data fetching.

import { useEffect, useState } from "react";
import axios from "axios";

const searchUrl = "https://www.thecocktaildb.com/api/json/v1/1/search.php?";
const singleUrl = "https://www.thecocktaildb.com/api/json/v1/1/lookup.php?";

const useFetch = (query, type = false) => {
  const [isLoading, setIsLoading] = useState(true);
  const [data, setData] = useState([]);
  const [count, setCount] = useState(0);
  const [isError, setIsError] = useState(false);
  const url = type ? singleUrl : searchUrl;
  useEffect(() => {
    (async (query) => {
      setIsError(false);
      setIsLoading(true);
      try {
        const response = await axios.get(`${url}${query}`);
        setData(response.data);
        setCount(response.data.drinks.length);
      } catch (err) {
        setIsError(true);
        setCount(0);
      }
      setIsLoading(false);
    })(query);
  }, [query, url]);

  return { isLoading, data, isError, count };
};

export default useFetch;

Prossimo Progetto

Redux Toolkit: Come implementarlo in React

Redux Toolkit: Come implementarlo in React

Libreria di immagini con state e chiamate API gestite con Redux Toolkit

react

Informazioni aggiuntive

Livello: Principiante

225 lezioni

25 ore di videocorso

11 Progetti pratici

3052 studenti iscritti

Voto Medio:

4.5

Prezzo originale: 29.99€

Supporto Premium

text

Scopri il corso completo

React.js e Redux in Italiano: Te...


3052

4.5

Copertina
React.js e Redux in Italian...