INDICE

Cerca nel sito

Cerca inserendo le parole chiave di tuo interesse. Puoi cercare tra centinaia di articoli e decine di pagine informative sul mondo web e blockchain.

Cosa è Typescript

Javascript non è un linguaggio tipizzato, pertanto possiamo ad esempio creare variabili senza assegnare loro un tipo. Typescript è una libreria per Javascript, che introduce la tipizzazione all’interno di Javascript e quindi anche di React.
Ciò comporta diversi vantaggi, tra cui i seguenti.

  • Maggiore controllo e pulizia del codice.
  • Gli errori di tipizzazione vengono segnalati al momento della compilazione e non più run-time.
  • Refactoring (modificare il codice senza cambiarne il comportamento al fine di migliorarlo ed ottimizzarlo) ed eventuali modifiche successive del codice risultano più agevoli.

In poche semplici parole, la possibilità e l’obbligo di assegnare tipi a variabili ed oggetti, ci permette di lavorare in modo migliore, soprattutto se si tratta di progetti di grandi dimensioni.
Pertanto, l’uso di Typescript è altamente consigliato, a meno che non si stia sviluppando una piccola web app che non ha aspettative di crescita.

 

Installare Typescript

Teoricamente possiamo installare Typescript in un secondo momento, cioè successivamente alla creazione della nostra web app in React, tramite il comando:

npm i typescript

Ciò però è sconsigliato, perché dopo l’installazione della libreria di Typescript, occorre apportare manualmente diverse modifiche alla struttura del progetto e del codice già prodotto.
Pertanto, se si vuole utilizzare Typescript, consigliamo vivamente l’introduzione di Typescript già al momento della creazione del nostro progetto in React.
Il comando di creazione di una web app in React con Typescript già integrato è:

npx create-react-app [nome web app] --template typescript

Esempio:

npx create-react-app demotutorial --template typescript

 

Struttura del progetto con Typescript

La struttura del progetto sarà uguale a quella che abbiamo precedente visto senza l’uso di Typescript, ma con alcune differenze.

react-typescript - struttura

All’interno della cartella “src” potrebbe essere presente il file serviceWorker.ts. Tale file serve per la gestione delle PWA ed in particolare dei servizi offline come la gestione della cache.
App.test.tsx può essere cestinato, perché è il file di esempio generato dal file setupTests.ts che permette di eseguire unit test. La libreria utilizzata è “jest-dom”.
Il file react-app-env.ts, consente di utilizzare tramite il sistema “import”, tipologie di file che non sono già previste di default in node_modules/react-scripts/lib/react-app.d.ts. Questo argomento andrebbe approfondito a parte, ma non vale la pena affrontarlo in un tutorial inziale di React.

 

Estensione file: .ts e .tsx

Una differenza importante con un progetto Typescript free, è data dal fatto che i nostri file Javascript hanno una estensione .ts, che diventa .tsx nel caso in cui all’interno del file sia presente JSX.
Quindi un file component dovrà essere .tsx, mentre un file che contiene helper function di supporto ai component sarà .ts, perché non ha nulla da renderizzare.
Nei file .tsx, sarà presente l’import

import React from 'react';

In caso contrario JSX non funzionerà. Ciò è necessario solo per alcune versioni delle librerie.

 

Sintassi di tipizzazione di Typescript

È arrivato il momento adesso, di vedere concretamente come assegnare un tipo ad una variabile, tramite Typescript. Di seguito un esempio.

var myName: string = "Do Agency";

function printName(name: string) {
    console.log(name);
}

printName(myName);

Quasi sempre nei linguaggi di programmazione il tipo si trova a sinistra e il nome della variabile a destra. Qui è esattamente il contrario, come potete vedere dall’esempio.
Dal codice di esempio di tipizzazione, è chiaro il modo corretto per assegnare un tipo sia alla variabile che al parametro di input della function.

 

Aggiorniamo il progetto Typescript con quanto fatto in precedenza

A questo punto, dopo aver creato una nuova installazione di React con Typescript, tramite il comando

npx create-react-app [nome web app] --template typescript

che abbiamo visto in precedenza, dobbiamo applicare gli sviluppi fatti nel precedente progetto.
È una ripetizione di sviluppo all’interno del tutorial, ma in questo modo abbiamo potuto mostrare entrambe le possibilità di sviluppo.
Brevemente:

Creiamo le cartelle:

  • components
  • layouts
  • models
  • pages
  • style

Installiamo le librerie:

  • npm i -D react-router-dom
  • npm i bootstrap

Importiamo i file che abbiamo creato in precedenza.

Modifichiamo il file index.tsx.

 

Altrimenti, se preferite, per ragioni di comodità e velocità, potete clonare il Progetto da GitHub o vedere struttura e corpo dei file, nel repository GitHub in: https://github.com/DoAgency/ReactJs

Repository del progetto in progress su GitHub: https://github.com/DoAgency/ReactJs

Servizi di sviluppo IT che forniamo sia ai clienti finali, sia alle altre aziende di sviluppo in subappalto in white label

Diamo valore alla tua privacy
Utilizziamo i cookie per migliorare la tua esperienza di navigazione, offrirti pubblicità o contenuti personalizzati e analizzare il nostro traffico. Cliccando “Accetta”, acconsenti al nostro utilizzo dei cookie.