Import di immagini in React | Aulab

GUIDE PER ASPIRANTI PROGRAMMATORI

Import di immagini in React

Come dicevamo nella sezione precedente, tra i file che possiamo importare in React ci sono anche le immagini. Un esempio è proprio nell’applicazione che Create React App prevede all’installazione:   import logo from "./logo.svg"; export default function App() { return <img src={logo} alt="React" />; } Le immagini e gli SVG vengono importati con un formato…

Lezione 8 / 41
Enza Neri
Immagine di copertina

Vuoi avviare una nuova carriera o fare un upgrade?

Trova il corso Digital & Tech più adatto a te nel nostro catalogo!

Come dicevamo nella sezione precedente, tra i file che possiamo importare in React ci sono anche le immagini. Un esempio è proprio nell’applicazione che Create React App prevede all’installazione:

import logo from "./logo.svg";

export default function App() {
  return <img src={logo} alt="React" />;
}

Le immagini e gli SVG vengono importati con un formato particolare, che è una variante di Base64, che può essere dato in pasto all’attributo src di un tag img (come nell’esempio soprastante).

La cartella public

Un metodo alternativo per importare file è quello della cartella public: tutto ciò che è nella cartella public è allo stesso livello di index.html, di conseguenza può essere usato come se fosse nella cartella radice del progetto. Per esempio, un file in public/images/my-image.jpg potrebbe essere usato in questo modo:

export default function MyComponent() {
  return <img src="./images/my-image.jpg" alt="My image" />;
}

Durante lo sviluppo, il server di Create React App e Vite modificano i percorsi dei file per far sì che public diventi l’effettiva radice del progetto, per cui possiamo (e dobbiamo!) omettere public/ quando scriviamo i percorsi. Quando il progetto viene ottimizzato per la produzione, il contenuto di public viene effettivamente copiato nella radice del progetto, per cui i percorsi rimangono validi.

Quando usare import e quando usare public?

L’importazione di immagini tramite import e quella tramite la cartella public permettono di ottenere lo stesso risultato, ma ci sono un paio di cose da prendere in considerazione:

  • Le immagini importate tramite import vengono ottimizzate da React e inserite direttamente nel codice JavaScript. Questo significa che, tipicamente, vengono caricate più velocemente.
  • Di contro, le immagini importate tramite import non sono raggiungibili al di fuori dell’applicazione. Questo significa che non sono indicizzabili dai motori di ricerca, è più difficile condividere le immagini “da sole” (per esempio inviando un link all’immagine tramite social network) o usarle come copertine per i social o anteprime per le applicazioni di messaggistica.

Per decidere quale delle due tecniche usare, quindi, possiamo chiederci: quanto è importante l’immagine al di là del contesto dell’applicazione?

Se si tratta di icone, per esempio, è molto probabile che abbia più senso importarle direttamente con import.

Quando si parla di copertine di pagine, invece, è più probabile che sia conveniente inserirle nella cartella public, così che possano essere indicizzate e condivise con altre piattaforme.

Sei indeciso sul percorso? 💭

Parliamone! Scrivici su Whatsapp e risponderemo a tutte le tue domande per capire quale dei nostri corsi è il più adatto alle tue esigenze.

Oppure chiamaci al 800 128 626