Il cambiamento più rilevante riguarda la separazione di React e React DOM in due package differenti; questo intervento è il risultato di alcune modifiche che già in React 0.14 avevano portato a classificare React.render() come deprecato in favore dell'utilizzo di ReactDOM.render(), le API DOM erano state poi rimosse completamente in React 15 ma ciò non aveva impedito di proseguire nell'implementazione del React DOM.

Quest'ultimo ha continuato ad esistere in seno al package di React fino all'attuale upgrade con il quale è stato finalmente separato; ora il package di React contiene esclusivamente codice "renderer-agnostic", come per esempio React.Component e React.createElement(). In questo modo sarebbero state risolte alcune questioni aperte da tempo, come per esempio degli errori che si verificavano durante l'importazione del React DOM.

Questa nuova impostazione non dovrebbe costringere gli sviluppatori a modificare le proprie applicazioni, potrebbero presentarsi dei problemi di funzionamento nel caso di importazioni di API private da react/lib/*, ma nello specifico parliamo di una procedura non ufficialmente supportata dalla documentazione ufficiale della libreria.

Altra novità interessante riguarda la possibilità di visualizzare i componenti di React nella timeline di Chrome, in questo modo si potrà avere facilmente traccia dei componenti montati, aggiornati o smontati. Per utilizzare tale feature si potrà caricare la propria applicazione aggiungendo il parametro ?react_perf in querystring, digitando ad esempio un URL come il seguente:

http://localhost:3000/?react_perf

Fatto questo si potrà aprire la Timeline dei DevTools di Chrome, cominciare la registrazione per eseguire l'attività che si desidera profilare.

react-perf-chrome-timeline

Per il corretto funzionamento del browser è consigliabile non registrare eventi di durata superiore ai 20 secondi, raggiunto questo limite si dovrà quindi bloccare la registrazione e sarà possibile accedere agli eventi React raggruppati sono l'etichetta "User Timing".

Via React

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *