React

Una libreria JavaScript per creare interfacce utente

Dichiarativo

React rende la creazione di UI interattive facile e indolore. Progetta interfacce per ogni stato della tua applicazione. Ad ogni cambio di stato React aggiornerà efficientemente solamente le parti della UI che dipendono da tali dati.

La natura dichiarativa dell’UI rende il tuo codice più prevedibile e facile da debuggare.

Componenti

Crea componenti in isolamento e componili per creare UI complesse.

Dato che interazioni e logica per i componenti sono implementate in JavaScript puoi facilmente passare ed accedere strutture dati complesse in vari punti della tua applicazione senza dover salvare informazioni sul DOM.

Imparalo una volta, usalo ovunque

Non facciamo supposizioni sulle le tecnologie che utilizzi correntemente. In questo modo puoi sviluppare nuove funzionalità in React senza riscrivere codice esistente.

React può inoltre effettuare rendering lato server con Node.js e in appicazioni mobile grazie a React Native.


Un Componente Semplice

I componenti React implementano un metodo render() che riceve dati in input e ritorna cosa deve visualizzare. Questo esempio usa una sintassi simile ad XML chiamata JSX. I dati passati in input al componente possono essere acceduti da render() via this.props.

JSX é opzionale e non richiesto per utilizzare React. Prova il tool Babel REPL per vedere il codice JavaScript grezzo generato nel processo di compilazione JSX.

Loading code example...

Un Componente Stateful

Oltre a ricevere dati in input (accessibili via this.props), un componente può mantenere i dati del suo stato interno (accessibili via this.state). Quando lo stato di un componente cambia, il codice markup generato viene aggiornato invocando di nuovo render(), ciò avviene automaticamente.

Loading code example...

Una Applicazione

Usando props e state, possiamo costruire una piccola applicazione Todo (lista delle cose da fare). Questo esempio usa state per tracciare la lista corrente degli elementi oltre a cosa ha inserito l’utente. Anche se gli event handlers sembrano renderizzati inline, essi vengono raccolti ed implementati mediante delegati.

Loading code example...

Un Componente con Plugin Esterni

React ti permette di interfacciarti con altre librerie e frameworks. Questo esempio usa remarkable, una libreria esterna Markdown, per convertire il contenuto di una <textarea> in tempo reale.

Loading code example...