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 radicalmente in React 15 ma ciò non aveva impedito di insistere 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 solamente codice “renderer-agnostic”, come per modello React.Component e React.createElement(). In questo modo sarebbero state risolte alcune questioni aperte da tempo, come per modello degli errori che si verificavano durante l’importazione del React DOM.
Questa nuova impostazione non dovrebbe costringere gli sviluppatori a cambiare le proprie applicazioni, potrebbero presentarsi dei errori 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 prova 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.
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