
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…


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.
CONTENUTI GRATUITI IN EVIDENZA
Guide per aspiranti programmatori 👨🏻🚀
Vuoi muovere i primi passi nel Digital e Tech? Abbiamo preparato alcune guide per aiutarti a orientarti negli ambiti più richiesti oggi.