{"id":57106,"date":"2022-07-05T10:53:40","date_gmt":"2022-07-05T09:53:40","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=57106&#038;post_type=knowledgebase&#038;preview_id=57106"},"modified":"2025-10-01T20:46:44","modified_gmt":"2025-10-01T19:46:44","slug":"react-js","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/react-js\/","title":{"rendered":"Cos&#8217;\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript"},"content":{"rendered":"<p>Il settore del web development ha visto una crescita costante negli ultimi anni e, di pari passo con questa crescita, emergono sempre nuove tecnologie che permettono agli sviluppatori di creare siti e applicazioni web di facile utilizzo.<\/p>\n<p>Nel corso degli anni, i <a href=\"https:\/\/kinsta.com\/it\/blog\/miglior-linguaggio-di-programmazione\/\">linguaggi di programmazione<\/a> web hanno prodotto nuove funzionalit\u00e0, sono stati utilizzati altri linguaggi di programmazione per la creazione di tecnologie web e sono stati creati framework e librerie sulle strutture delle tecnologie esistenti.<\/p>\n<p>In questo tutorial parleremo di React, la <a href=\"https:\/\/insights.stackoverflow.com\/survey\/2021#section-most-popular-technologies-web-frameworks\" target=\"_blank\" rel=\"noopener noreferrer\">pi\u00f9 popolare libreria JavaScript basata su componenti<\/a> utilizzata per creare interfacce utente. Sebbene questo tutorial sia assolutamente adatto ai principianti, pu\u00f2 servire anche come guida di riferimento per gli sviluppatori React pi\u00f9 esperti.<\/p>\n\n<p>Parleremo delle caratteristiche di React, dei pro e dei contro, del perch\u00e9 utilizzarlo e di come installare e usare React. Scopriremo anche alcune delle funzionalit\u00e0 principali di React con esempi pratici di codice.<\/p>\n<p>Alla fine di questo tutorial, dovreste avere un&#8217;idea pi\u00f9 chiara di cos&#8217;\u00e8 e come funziona React ed essere in grado di utilizzarlo per realizzare fantastici progetti.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Cos&#8217;\u00e8 React?<\/h2>\n<p>React.js, normalmente chiamato semplicemente React, \u00e8 una <a href=\"https:\/\/kinsta.com\/it\/blog\/librerie-javascript\/\" target=\"_blank\" rel=\"noopener noreferrer\">libreria JavaScript<\/a> utilizzata per creare interfacce utente. Ogni applicazione web React \u00e8 composta da componenti riutilizzabili che costituiscono parti dell&#8217;interfaccia utente: possiamo avere un componente separato per la nostra barra di navigazione, uno per il footer, un altro per il contenuto principale e cos\u00ec via. Si comprender\u00e0 meglio questo aspetto quando arriveremo alla sezione in cui dovremo lavorare con i componenti.<\/p>\n<p>Avere questi componenti riutilizzabili facilita lo sviluppo perch\u00e9 non dobbiamo ripetere il codice. Dobbiamo solo creare la sua logica e importare il componente dove \u00e8 necessario.<\/p>\n<p>React \u00e8 anche un&#8217;applicazione a pagina singola. Quindi, invece di inviare una richiesta al server ogni volta che una nuova pagina deve essere renderizzata, il contenuto della pagina viene caricato direttamente dai componenti React. Questo porta a un rendering pi\u00f9 veloce senza ricaricare la pagina.<\/p>\n<p>Nella maggior parte dei casi, la sintassi utilizzata per la creazione di applicazioni React \u00e8 chiamata JSX (JavaScript XML), che \u00e8 un&#8217;estensione della sintassi di <a href=\"https:\/\/kinsta.com\/it\/blog\/next-js\/\">JavaScript<\/a>. Questo ci permette di combinare la logica JavaScript e la logica dell&#8217;interfaccia utente in un modo unico. Con JSX, non \u00e8 necesario interagire con il DOM utilizzando metodi come <code>document.getElementById<\/code>, <code>querySelector<\/code> e altri metodi di manipolazione del DOM.<\/p>\n<p>Anche se utilizzare JSX non \u00e8 obbligatorio, rende pi\u00f9 semplice lo sviluppo di applicazioni React.<\/p>\n<p>Ecco un esempio di JSX in React:<\/p>\n<pre><code class=\"language-js\">function App() {\n    const greetings = \"Hello World\";\n        return (\n            &lt;div className=\"App\"&gt;\n            &lt;h1&gt; {greetings} &lt;\/h1&gt;\n            &lt;\/div&gt;\n        );\n    }\n}<\/code><\/pre>\n<p>Nel codice qui sopra, abbiamo utilizzato un componente funzionale React per rendere un testo nel browser. Il nome del componente \u00e8 <code>App<\/code>. Abbiamo creato una variabile prima della funzione <code>render()<\/code>.<\/p>\n<p>Abbiamo poi passato questa variabile al markup utilizzando le parentesi graffe. Non si tratta di HTML ma della sintassi per scrivere codice JSX.<\/p>\n<p>Nella prossima sezione analizzeremo alcuni dei motivi per cui utilizzare React.<\/p>\n<h2>Perch\u00e9 React?<\/h2>\n<p>Molti <a href=\"https:\/\/kinsta.com\/it\/blog\/retribuzione-web-developer\/\" rel=\"noopener\">sviluppatori<\/a> e molte organizzazioni hanno preferito React ad altre librerie\/framework; ecco perch\u00e9:<\/p>\n<ul>\n<li><strong>Facile da imparare:<\/strong> React \u00e8 facile da comprendere e imparare, a patto che abbiate una buona conoscenza dei prerequisiti. React dispone di una solida documentazione e di molte risorse online gratuite create da altri sviluppatori della attivissima community di React.<\/li>\n<li><strong>Componenti riutilizzabili:<\/strong> Ogni componente di React ha una propria logica che pu\u00f2 essere riutilizzata in qualsiasi punto dell&#8217;applicazione. Questo riduce la necessit\u00e0 di riscrivere pi\u00f9 volte lo stesso blocco di codice.<\/li>\n<li><strong>Opportunit\u00e0 di lavoro:<\/strong> Tra le competenze richieste in molte opportunit\u00e0 di <a href=\"https:\/\/kinsta.com\/it\/blog\/sviluppatore-frontend\/\" rel=\"noopener\">lavoro nel front-end development<\/a> c&#8217;\u00e8 spesso React. Quindi, conoscere React aumenter\u00e0 le possibilit\u00e0 di trovare lavoro.<\/li>\n<li><strong>Migliori prestazioni:<\/strong> Grazie al DOM virtuale di React, il rendering delle pagine pu\u00f2 essere eseguito pi\u00f9 velocemente. Utilizzando una libreria di routing come React Router, potrete renderizzare pagine diverse senza ricaricare la pagina.<\/li>\n<li><strong>Ampiamente estendibile:<\/strong> React \u00e8 una libreria che si limita a renderizzare l&#8217;interfaccia utente della vostra applicazione. Spetta allo sviluppatore scegliere con quali <a href=\"https:\/\/kinsta.com\/it\/blog\/strumenti-sviluppo-web\/\" rel=\"noopener\">strumenti lavorare<\/a>, come le librerie per il rendering di diverse pagine, le librerie di design e cos\u00ec via.<\/li>\n<\/ul>\n<h2>Chi Usa React?<\/h2>\n<p>React \u00e8 stato utilizzato da molti ingegneri front-end sia in startup che in aziende affermate come Facebook, Netflix, Instagram, Yahoo, Uber, The New York Times e altre ancora.<\/p>\n<p>Anche se tutte le aziende sopra elencate non hanno realizzato l&#8217;intero prodotto con React, alcune delle loro pagine sono state costruite con React. Questo grazie alle elevate prestazioni, alla facilit\u00e0 d&#8217;uso e alla scalabilit\u00e0 di React.<\/p>\n<h2>Casi d&#8217;Uso di React<\/h2>\n<p>React viene generalmente utilizzato per costruire l&#8217;interfaccia utente (frontend) di applicazioni web. Offre un rendering veloce delle pagine e maggiori prestazioni. React pu\u00f2 essere utilizzato per realizzare qualsiasi prodotto che giri sul web.<\/p>\n<p>Ecco solo alcune delle cose che si possono costruire con React:<\/p>\n<ul>\n<li>Applicazioni per lettori musicali<\/li>\n<li>Applicazioni per i social media<\/li>\n<li>Applicazioni di chat in tempo reale<\/li>\n<li>Applicazioni web <a href=\"https:\/\/kinsta.com\/it\/blog\/sviluppatore-full-stack\/\">full-stack<\/a><\/li>\n<li>Applicazioni <a href=\"https:\/\/kinsta.com\/it\/blog\/hosting-ecommerce\/\">per l&#8217;ecommerce<\/a><\/li>\n<li>Applicazioni per il meteo<\/li>\n<li>Applicazioni per le liste di cose da fare<\/li>\n<\/ul>\n<h2>Caratteristiche di React<\/h2>\n<p>React vanta una quantit\u00e0 di caratteristiche incredibili che continuano a renderlo un&#8217;opzione molto apprezzata tra gli sviluppatori.<\/p>\n<p>Ecco alcune delle principali caratteristiche di React:<\/p>\n<ul>\n<li><strong>JSX:<\/strong> si tratta di un&#8217;estensione della sintassi JavaScript che estende le funzionalit\u00e0 di ES6 (ECMAScript 2015). Combina logica e markup JavaScript in un unico componente.<\/li>\n<\/ul>\n<ul>\n<li><strong>DOM virtuale:<\/strong> Si tratta di una copia dell&#8217;oggetto DOM che aggiorna e renderizza le pagine quando vengono apportate delle modifiche; confronta poi lo stato attuale con il DOM originale per mantenerlo sincronizzato con le modifiche. In questo modo il <a href=\"https:\/\/kinsta.com\/it\/impara\/velocita-pagina\/\" rel=\"noopener\">rendering delle pagine \u00e8 pi\u00f9 veloce<\/a>.<\/li>\n<\/ul>\n<ul>\n<li><strong>Componenti:<\/strong> Le applicazioni React sono composte da diversi componenti riutilizzabili che hanno la loro logica e la loro interfaccia utente. Questo lo rende ottimo per scalare le applicazioni e mantenere alte le prestazioni perch\u00e9 non si duplica il codice come avviene con altri framework.<\/li>\n<\/ul>\n<h2>Pro e Contro di React<\/h2>\n<p>React \u00e8 sicuramente uno strumento popolare per la costruzione delle nostre UI, ma ci sono comunque dei motivi per cui alcuni sviluppatori scelgono di non usarlo.<\/p>\n<p>In questa sezione parleremo dei vantaggi e degli svantaggi di React.<\/p>\n<p>Ecco i pro di React:<\/p>\n<ol>\n<li><a href=\"https:\/\/kinsta.com\/it\/blog\/vue-vs-react\/\">React<\/a> \u00e8 facile da comprendere e apprendere.<\/li>\n<li>React ha una comunit\u00e0 molto attiva dove \u00e8 possibile contribuire e ricevere aiuto quando serve.<\/li>\n<li>Ci sono molte opportunit\u00e0 di lavoro per gli sviluppatori React.<\/li>\n<li>React offre maggiori prestazioni alle app.<\/li>\n<\/ol>\n<p>Ecco alcuni svantaggi di React:<\/p>\n<ol>\n<li>I principianti che non hanno una solida conoscenza di JavaScript (soprattutto ES6) potrebbero avere difficolt\u00e0 a capire React.<\/li>\n<li>React \u00e8 privo di alcune funzionalit\u00e0 comuni come la gestione di un singolo stato e il routing; dovrete installare e imparare a usare librerie esterne per avere queste funzionalit\u00e0.<\/li>\n<\/ol>\n<h2>Iniziare con React<\/h2>\n<p>In questa sezione parleremo prima dei prerequisiti di React e poi vedremo come creare un&#8217;applicazione React, come creare componenti, come gestire gli eventi e lavorare con gli stati, gli <a href=\"https:\/\/kinsta.com\/it\/blog\/usecallback-react\/\">hook<\/a> e le propriet\u00e0 in React.<\/p>\n<h3>Prerequisiti di React<\/h3>\n<p>Prima di utilizzare React, bisogna avere una buona conoscenza ed esperienza di <a href=\"https:\/\/kinsta.com\/it\/blog\/linguaggi-di-scripting\/\" rel=\"noopener\">JavaScript<\/a>. Ecco alcuni degli argomenti di JavaScript che consigliamo di ripassare prima di passare a React:<\/p>\n<ul>\n<li>Arrow functions<\/li>\n<li>Rest operator<\/li>\n<li>Spread operator<\/li>\n<li>Moduli<\/li>\n<li>Destrutturazione<\/li>\n<li>Metodi di array<\/li>\n<li>Template literals<\/li>\n<li>Promises<\/li>\n<li>Keyword <code>let<\/code> e <code>const<\/code><\/li>\n<\/ul>\n<p>La maggior parte di questi argomenti rientra in ES6. Dovreste anche avere esperienza su <a href=\"https:\/\/kinsta.com\/it\/blog\/imparare-html\/\" target=\"_blank\" rel=\"noopener noreferrer\">HTML<\/a>, dato che il markup costituisce una parte della sintassi JSX.<\/p>\n<h3>Come Installare React<\/h3>\n<p>Prima di installare React, accertatevi di avere installato <a href=\"https:\/\/kinsta.com\/it\/blog\/come-installare-node-js\/\" rel=\"noopener\">Node.js sul vostro computer<\/a>.<\/p>\n<p>Una volta completata l&#8217;installazione, eseguite questo comando nel terminale:<\/p>\n<pre><code class=\"language-bash\">node -v<\/code><\/pre>\n<p>Se tutto \u00e8 andato per il verso giusto, il comando qui sopra dovrebbe dirvi qual \u00e8 la versione di Node.js installata sul vostro computer.<\/p>\n<p>Successivamente, eseguiremo un altro comando per installare React.<\/p>\n<p>Per prima cosa, create una cartella o navigate nella posizione in cui volete installare l&#8217;applicazione React, quindi eseguite questo comando nel terminale:<\/p>\n<pre><code class=\"language-bash\">npx create-react-app react-kit<\/code><\/pre>\n<p>Il comando precedente installer\u00e0 React in una cartella chiamata <strong>react-kit<\/strong>.<\/p>\n<p>Una volta completata l&#8217;installazione, aprite la cartella React appena installata nell&#8217;<a href=\"https:\/\/kinsta.com\/it\/blog\/migliori-editor-di-testo\/\" rel=\"noopener\">editor di codice<\/a> che preferite. In questo tutorial utilizzeremo Visual Studio Code. Visual Studio Code \u00e8 dotato di un terminale integrato. Se intendete utilizzare un terminale diverso, come Git Bash o CMD, andate nella cartella dell&#8217;applicazione React ed eseguite questo comando:<\/p>\n<pre><code class=\"language-bash\">npm run start<\/code><\/pre>\n<p>Questo comando avvia il vostro server di sviluppo. Dopo un po&#8217; di tempo, nel vostro browser dovrebbe essere visualizzata questa pagina su <strong>localhost:3000<\/strong>:<\/p>\n<figure id=\"attachment_124283\" aria-describedby=\"caption-attachment-124283\" style=\"width: 1354px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-124283 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/05\/react-npm-start.png\" alt=\"Server di sviluppo React dopo l'installazione\" width=\"1354\" height=\"614\"><figcaption id=\"caption-attachment-124283\" class=\"wp-caption-text\">Server di sviluppo React dopo l&#8217;installazione<\/figcaption><\/figure>\n<p>Se avete seguito fino a questo punto, allora avete installato la vostra prima applicazione React. Congratulazioni!<\/p>\n<p>Se date un&#8217;occhiata alla struttura delle cartelle, vedrete una cartella chiamata <strong>public<\/strong>. Questa cartella contiene un file <strong>index.html<\/strong> in cui il nostro codice verr\u00e0 iniettato e servito al browser.<\/p>\n<p>La cartella <strong>src<\/strong> \u00e8 dove risiederanno tutta la logica, lo stile e il markup; \u00e8 la nostra cartella di sviluppo con il file <strong>App.js<\/strong> che funge da componente principale. Il codice contenuto in questo file \u00e8 quello che vediamo nell&#8217;immagine qui sopra.<\/p>\n<p>Aprite il file <strong>App.js<\/strong> e apportate alcune modifiche, poi salvate per vedere se le vostre modifiche si riflettono automaticamente nel browser.<\/p>\n<p>Tutto pronto? Ora scriviamo un po&#8217; di codice!<\/p>\n<h3>I Componenti in React<\/h3>\n<p>In React esistono due tipi principali di componenti: quelli di classe e quelli funzionali. La documentazione di React \u00e8 attualmente in fase di riscrittura per l&#8217;utilizzo degli Hooks, che \u00e8 una caratteristica dei componenti funzionali. Anche in questo tutorial utilizzeremo i componenti funzionali, poich\u00e9 sono diventati i componenti pi\u00f9 utilizzati nelle app React.<\/p>\n<p>Nella maggior parte dei casi, i componenti restituiscono del <a href=\"https:\/\/kinsta.com\/it\/blog\/xml-vs-html\/\">codice HTML<\/a> con un mix di valori dinamici creati con JavaScript. I componenti vengono creati come le funzioni in JavaScript.<\/p>\n<h3>Creare un Componente di Classe in React<\/h3>\n<p>Vediamo un esempio di componente di classe in React.<\/p>\n<p>Ogni componente di classe deve includere l&#8217;istruzione <code>React.Component<\/code> e l&#8217;istruzione <code>render()  subclass.<\/code><\/p>\n<pre><code class=\"language-js\">class Student extends React.Component {\n    constructor() {\n        super();\n        this.state = {language: \"JavaScript\"};\n    }\n    render() {\n        return &lt;p&gt;I am learning {this.state.language} &lt;\/p&gt;;\n    }\n}<\/code><\/pre>\n<p>Nel componente qui sopra, abbiamo creato una variabile di stato chiamata <code>language<\/code> con un valore stringa &#8220;JavaScript&#8221;. Abbiamo poi utilizzato questa variabile nel nostro markup. Questo esempio mostra come sia possibile mescolare JavaScript e HTML senza fare riferimento ad alcun metodo del DOM.<\/p>\n<p>Quando questo viene visualizzato dal browser, vedremo la scritta &#8220;Sto imparando JavaScript&#8221; sulla pagina.<\/p>\n<h3>Creare un Componente Funzionale in React<\/h3>\n<p>In questa sezione ricreeremo l&#8217;esempio della sezione precedente utilizzando un componente funzionale.<\/p>\n<p>Aggiungete questa funzione al vostro file:<\/p>\n<pre><code class=\"language-js\">function Student() {\n    const language = \"JavaScript\";\n    return (\n        &lt;div&gt;\n        &lt;p&gt;I am learning { language } &lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n}<\/code><\/pre>\n<p>Il nome del nostro componente \u00e8 lo stesso: <code>Student<\/code>. Fate iniziare sempre il nome dei vostri componenti con una lettera maiuscola. Anche questa variabile \u00e8 stata passata nel markup come abbiamo fatto nella sezione precedente senza manipolare il DOM con i metodi DOM di JavaScript.<\/p>\n<p>Anche questo componente ha una variabile <code>Student<\/code> che \u00e8 stata renderizzata, ma man mano che procediamo nel tutorial, utilizzeremo un hook chiamato <code>useState<\/code> per creare le nostre variabili di stato.<\/p>\n<h3>La Gestione gli Eventi in React<\/h3>\n<p>Gli eventi utilizzati in React sono del tutto simili a quelli che utilizziamo in <a href=\"https:\/\/kinsta.com\/it\/blog\/imparare-html\/\">HTML<\/a>. L&#8217;unica differenza \u00e8 che gli eventi di React sono scritti con la sintassi camelCase. Quindi &#8220;onclick&#8221; sarebbe &#8220;onClick&#8221; in React, &#8220;onchange&#8221; sarebbe &#8220;onChange&#8221; e cos\u00ec via.<\/p>\n<p>Quando si passa un evento come attributo in un tag HTML, si usano le parentesi graffe: <code> onClick={changeName}<\/code> invece delle virgolette <code> onClick=\"changeName\"<\/code><\/p>\n<p>Ecco un esempio (nel file <strong>App.js<\/strong> ):<\/p>\n<pre><code class=\"language-js\">import { useState } from \"react\";\nfunction App() {\n    const [name, setName] = useState(\"John\");\n    const changeName = () =&gt; {\n        setName(\"James\");\n    };\n    return (\n        &lt;div className=\u201dApp\u201d&gt;\n        &lt;p&gt;His name is {name}&lt;\/p&gt;\n        &lt;button onClick={changeName}&gt; Click me &lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Nel codice qui sopra, abbiamo creato una funzione che segnala un messaggio nel browser. Abbiamo anche creato un pulsante che richiama questa funzione quando viene cliccato. Il gestore di eventi utilizzato \u00e8 <code>onClick<\/code>.<\/p>\n<p>Noterete che il nome della funzione \u00e8 racchiuso tra parentesi graffe e non tra virgolette. Questo \u00e8 il modo per inserire valori dinamici come i nomi delle variabili e delle funzioni nel markup quando si utilizza JSX.<\/p>\n<p>Inoltre, invece di usare &#8220;class&#8221; come faremmo con l&#8217;HTML, usiamo &#8220;className&#8221;. Questo perch\u00e9 &#8220;classe&#8221; \u00e8 una parola riservata in JavaScript.<\/p>\n<p>Nell&#8217;ultima riga abbiamo esportato il nostro componente. Questo ci permette di importarlo in altri componenti.<\/p>\n<h3>Lavorare con gli Stati in React<\/h3>\n<p>Per gestire lo stato della nostra applicazione in React, utilizziamo un hook chiamato <code>useState<\/code>. Gli hook ci permettono di accedere ad altre funzionalit\u00e0 di React senza scrivere una classe.<\/p>\n<p>Con gli hook possiamo gestire lo stato del nostro componente e persino eseguire determinati effetti quando le variabili di stato vengono rese per la prima volta o modificate.<\/p>\n<p>Senza l&#8217;hook <code>useState<\/code> in un componente funzionale, qualsiasi modifica apportata alle nostre variabili di stato non si rifletter\u00e0 sul DOM e quindi lo stato rimarr\u00e0 invariato.<\/p>\n<p>Vediamo un esempio.<\/p>\n<pre><code class=\"language-js\">import { useState } from \"react\";\nfunction App() {\n    const [name, setName] = useState(\"John\");\n    const changeName = () =&gt; {\n        setName(\"James\");\n    };\n    return (\n        &lt;div className=\u201dApp\u201d&gt;\n        &lt;p&gt;His name is {name}&lt;\/p&gt;\n        &lt;button onClick={changeName}&gt; Click me &lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Ora diamo un&#8217;occhiata a quello che abbiamo appena fatto.<\/p>\n<p>Per prima cosa abbiamo importato l&#8217;hook <code>useState<\/code> da React. Abbiamo poi creato una variabile di stato chiamata <strong>name<\/strong> e una funzione &#8211; <strong>setName<\/strong> &#8211; che verr\u00e0 utilizzata per aggiornare il valore della variabile <strong>name<\/strong>. Il valore iniziale della variabile name \u00e8 memorizzato nell&#8217;hook <code>useState<\/code>, ad es. &#8220;John&#8221;.<\/p>\n<p>Successivamente, abbiamo creato una funzione chiamata <strong>changeName<\/strong>, che utilizza la funzione <strong>setName<\/strong> per aggiornare il valore della variabile <strong>name<\/strong>.<\/p>\n<p>Nel nostro markup, una volta cliccato sul pulsante, &#8220;John&#8221; viene cambiato in &#8220;James&#8221;.<\/p>\n<p>Nella prossima sezione vedremo come utilizzare un altro hook in React.<\/p>\n<h3>Lavorare con gli Hook in React<\/h3>\n<p>Nella sezione precedente abbiamo visto come gestire lo stato della nostra applicazione utilizzando l&#8217;hook <code>useState<\/code>. In questa sezione vedremo come utilizzare l&#8217;hook <code>useEffect<\/code>.<\/p>\n<p>L&#8217;hook <code>useEffect<\/code> esegue un effetto ogni volta che si verifica un cambiamento in uno stato. Di default, questo hook viene eseguito al primo rendering e ogni volta che lo stato viene aggiornato, ma possiamo configurare e collegare un effetto a una rispettiva variabile di stato.<\/p>\n<p>Vediamo alcuni esempi:<\/p>\n<pre><code class=\"language-js\">import { useState, useEffect } from \"react\";\nfunction App() {\n    const [day, setDay] = useState(1);\n    useEffect(() =&gt; {\n        console.log(`You are in day ${day} of the year`);\n    });\n    return (\n        &lt;div&gt;\n        &lt;button onClick={() =&gt; setDay(day + 1)}&gt;Click to increase day&lt;\/button&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>La prima cosa da fare \u00e8 importare l&#8217;hook <code>useEffect<\/code>.<\/p>\n<p>Ogni volta che clicchiamo sul pulsante, la variabile <strong>name<\/strong> viene incrementata di uno; questa variazione del valore di <strong>name<\/strong> fa s\u00ec che l&#8217;hook <code>useEffect<\/code> registri un messaggio nella console, il che avviene ogni volta che la variabile <strong>name<\/strong> cambia.<\/p>\n<p>Nella prossima sezione parleremo delle Props e del flusso di dati tra i componenti.<\/p>\n<h3>Lavorare con le Props in React<\/h3>\n<p>Le Props ci permettono di passare i dati da un componente all&#8217;altro. In questo modo il flusso di dati nella nostra applicazione diventa dinamico e manutenibile. Props \u00e8 l&#8217;abbreviazione di properties.<\/p>\n<p>Vediamo un esempio di come usare le Props.<\/p>\n<p>Ecco come appare il nostro file <strong>App.js<\/strong>:<\/p>\n<pre><code class=\"language-js\">function App() {\n    return (\n        &lt;div&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Creiamo un altro componente chiamato <strong>Bio.js<\/strong> e aggiungiamo questo codice:<\/p>\n<pre><code class=\"language-js\">function Bio() {\n    return (\n        &lt;div&gt;\n        &lt;p&gt;My name is John&lt;\/p&gt;\n        &lt;p&gt;I am a JavaScript developer&lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default Bio;<\/code><\/pre>\n<p>Successivamente, importeremo il componente <strong>Bio<\/strong> nel nostro componente <strong>App<\/strong> in questo modo:<\/p>\n<pre><code class=\"language-js\">import Bio from \".\/Bio\";\nfunction App() {\n    return (\n        &lt;div className=\"App\"&gt;\n        &lt;Bio\/&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>La prima riga \u00e8 quella in cui abbiamo importato il componente <strong>Bio<\/strong>. Poi inseriamo il componente tra i tag <code>div<\/code> nel nostro componente <strong>App<\/strong>. Quando visualizzate questo file nel browser, vedrete renderizzato il codice creato nel componente <strong>Bio<\/strong>.<\/p>\n<p>Ora avete capito come il codice pu\u00f2 essere riutilizzato in React. Ma questo codice \u00e8 statico: sar\u00e0 lo stesso in ogni componente in cui viene utilizzato. Questo non \u00e8 efficiente nei casi in cui vogliamo utilizzare lo stesso componente ma con informazioni diverse.<\/p>\n<p>Risolviamo questo problema utilizzando Props.<\/p>\n<p>Nel componente <strong>Bio.js<\/strong>, aggiungete:<\/p>\n<pre><code class=\"language-js\">function Bio({name, language}) {\n    return (\n        &lt;div&gt;\n        &lt;p&gt;My name is { name }&lt;\/p&gt;\n        &lt;p&gt;I am a { language } developer&lt;\/p&gt;\n        &lt;\/div&gt;\n    );\n\n}\nexport default Bio;<\/code><\/pre>\n<p>Abbiamo prima destrutturato e passato come parametri <code>name<\/code> e <code>language<\/code>. Questi parametri sono stati poi utilizzati dinamicamente nel nostro markup.<\/p>\n<p>Abbiamo esportato il componente nell&#8217;ultima riga di codice: <code>export default Bio;<\/code> per poterlo importare in qualsiasi altro componente che richieda la sua logica.<\/p>\n<p>Al momento, non vediamo alcun valore per la loro visualizzazione. Lo faremo nel componente <strong>App<\/strong>; ecco come:<\/p>\n<pre><code class=\"language-js\">import Bio from \".\/Bio\";\nfunction App() {\n    return (\n        &lt;div className=\"App\"&gt;\n        &lt;Bio name=\"James\" language=\"Python\"\/&gt;\n        &lt;\/div&gt;\n    );\n}\nexport default App;<\/code><\/pre>\n<p>Abbiamo aggiunto degli attributi al nostro tag <strong>Bio<\/strong> che corrispondono alle props create in precedenza. Qualsiasi valore inserito in questi attributi sar\u00e0 visualizzato nel browser. Questo \u00e8 importante per i componenti che verranno utilizzati in pi\u00f9 componenti ma che richiedono dati diversi.<\/p>\n<h2>Dove Imparare di Pi\u00f9<\/h2>\n<p>Questo tutorial ha inteso fornire le conoscenze fondamentali per iniziare a costruire applicazioni web con React, ma non \u00e8 tutto quello che c&#8217;\u00e8 da sapere su React. Ci sono altre funzionalit\u00e0 necessarie per costruire un&#8217;applicazione efficiente con React, come il routing nelle applicazioni che hanno pi\u00f9 di una pagina e la gestione di un singolo stato utilizzando strumenti come Redux.<\/p>\n<p>Il posto migliore per iniziare ad approfondire la conoscenza di React \u00e8 la <a href=\"https:\/\/reactjs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">documentazione di React<\/a>. Potreste anche dare un&#8217;occhiata alla <a href=\"https:\/\/beta.reactjs.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">documentazione della beta<\/a> che \u00e8 stata riscritta utilizzando gli Hook.<br \/>\n<\/p>\n<h2>Riepilogo<\/h2>\n<p>L&#8217;utilizzo di React come libreria frontend ha continuato ad aumentare in modo massiccio rispetto ad altre <a href=\"https:\/\/kinsta.com\/it\/blog\/angular-vs-react\/\" rel=\"noopener\">librerie e framework<\/a> nella comunit\u00e0 degli sviluppatori e non mostra alcun segno di arresto. React \u00e8 presente in tutte le roadmap degli sviluppatori web moderni.<\/p>\n<p>Con l&#8217;attuale adozione della tecnologia web3 da parte di un numero sempre maggiore di sviluppatori, React \u00e8 rimasto lo strumento preferito per la creazione del frontend delle applicazioni decentralizzate (DApp).<\/p>\n<p>Con React \u00e8 possibile realizzare una grande variet\u00e0 di applicazioni, dalle semplici applicazioni web per le liste di cose da fare ai marketplace, alle dashboard e cos\u00ec via.<\/p>\n<p>React pu\u00f2 essere utilizzato con molte tecnologie come Bootstrap, <a href=\"https:\/\/kinsta.com\/it\/blog\/tailwind-css\/\">Tailwind CSS<\/a>, Axios, Redux, Firebase e molte altre. Possiamo anche utilizzare React con Node.js e altri <a href=\"https:\/\/kinsta.com\/it\/blog\/miglior-linguaggio-di-programmazione\/\" rel=\"noopener\">linguaggi<\/a> backend per costruire <a href=\"https:\/\/kinsta.com\/it\/blog\/backend-vs-frontend\/\" rel=\"noopener\">applicazioni full-stack<\/a> e web app che funzionano alla velocit\u00e0 della luce.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il settore del web development ha visto una crescita costante negli ultimi anni e, di pari passo con questa crescita, emergono sempre nuove tecnologie che permettono &#8230;<\/p>\n","protected":false},"author":240,"featured_media":57107,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[25648,25920,25846,25707,25919],"topic":[25918,26212],"class_list":["post-57106","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-javascript","tag-librerie-javascript","tag-react","tag-react-js","tag-sviluppo-frontend","topic-framework-javascript","topic-react"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cos&#039;\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript<\/title>\n<meta name=\"description\" content=\"React \u00e8 una libreria JavaScript open-source basata su componenti per la creazione di interfacce utente veloci e dinamiche. Ecco da dove iniziare.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/react-js\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cos&#039;\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript\" \/>\n<meta property=\"og:description\" content=\"React \u00e8 una libreria JavaScript open-source basata su componenti per la creazione di interfacce utente veloci e dinamiche. Ecco da dove iniziare.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/react-js\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-05T09:53:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:46:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ihechikara Abba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"React \u00e8 una libreria JavaScript open-source basata su componenti per la creazione di interfacce utente veloci e dinamiche. Ecco da dove iniziare.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ihechikara Abba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/\"},\"author\":{\"name\":\"Ihechikara Abba\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\"},\"headline\":\"Cos&#8217;\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript\",\"datePublished\":\"2022-07-05T09:53:40+00:00\",\"dateModified\":\"2025-10-01T19:46:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/\"},\"wordCount\":2794,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png\",\"keywords\":[\"JavaScript\",\"librerie JavaScript\",\"React\",\"React.js\",\"sviluppo frontend\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/react-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/\",\"name\":\"Cos'\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png\",\"datePublished\":\"2022-07-05T09:53:40+00:00\",\"dateModified\":\"2025-10-01T19:46:44+00:00\",\"description\":\"React \u00e8 una libreria JavaScript open-source basata su componenti per la creazione di interfacce utente veloci e dinamiche. Ecco da dove iniziare.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/react-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/react-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/react\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cos&#8217;\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\",\"name\":\"Ihechikara Abba\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"caption\":\"Ihechikara Abba\"},\"description\":\"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/ihechivinabba\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cos'\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript","description":"React \u00e8 una libreria JavaScript open-source basata su componenti per la creazione di interfacce utente veloci e dinamiche. Ecco da dove iniziare.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/react-js\/","og_locale":"it_IT","og_type":"article","og_title":"Cos'\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript","og_description":"React \u00e8 una libreria JavaScript open-source basata su componenti per la creazione di interfacce utente veloci e dinamiche. Ecco da dove iniziare.","og_url":"https:\/\/kinsta.com\/it\/blog\/react-js\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2022-07-05T09:53:40+00:00","article_modified_time":"2025-10-01T19:46:44+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png","type":"image\/png"}],"author":"Ihechikara Abba","twitter_card":"summary_large_image","twitter_description":"React \u00e8 una libreria JavaScript open-source basata su componenti per la creazione di interfacce utente veloci e dinamiche. Ecco da dove iniziare.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Ihechikara Abba","Tempo di lettura stimato":"16 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/"},"author":{"name":"Ihechikara Abba","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26"},"headline":"Cos&#8217;\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript","datePublished":"2022-07-05T09:53:40+00:00","dateModified":"2025-10-01T19:46:44+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/"},"wordCount":2794,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png","keywords":["JavaScript","librerie JavaScript","React","React.js","sviluppo frontend"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/react-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/","url":"https:\/\/kinsta.com\/it\/blog\/react-js\/","name":"Cos'\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png","datePublished":"2022-07-05T09:53:40+00:00","dateModified":"2025-10-01T19:46:44+00:00","description":"React \u00e8 una libreria JavaScript open-source basata su componenti per la creazione di interfacce utente veloci e dinamiche. Ecco da dove iniziare.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/react-js\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2022\/07\/what-is-react-js-feature-image.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/react-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"React","item":"https:\/\/kinsta.com\/it\/argomenti\/react\/"},{"@type":"ListItem","position":3,"name":"Cos&#8217;\u00e8 React.js? Uno Sguardo alla Popolare Libreria JavaScript"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26","name":"Ihechikara Abba","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","caption":"Ihechikara Abba"},"description":"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.","url":"https:\/\/kinsta.com\/it\/blog\/author\/ihechivinabba\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/57106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=57106"}],"version-history":[{"count":6,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/57106\/revisions"}],"predecessor-version":[{"id":67028,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/57106\/revisions\/67028"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/57106\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/57106\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/57106\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/57106\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/57106\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/57106\/translations\/fr"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/57106\/translations\/jp"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/57106\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/57107"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=57106"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=57106"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=57106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}