La nuova funzionalità di React 19 che consente di passare Refs come oggetti di scena invece di utilizzare `ForwardRef` può migliorare l'efficienza dello sviluppo in alcuni modi chiave:
API più semplice e intuitiva
Passare gli arbitri come oggetti di scena regolari è un'API più naturale e intuitiva rispetto all'utilizzo di `ForwardRef '. Si allinea meglio con il principio di core react del trasmettere dati lungo l'albero dei componenti tramite oggetti di scena. Questo rende il codice più facile da capire e ragionare, soprattutto per i principianti.
Riduzione della caldaia
L'uso di `Forwardref` richiede avvolgimento del componente figlio in una chiamata` Forwardref` e passando il `ref` come secondo argomento al componente della funzione. Questo aggiunge un po 'di codice caldaia. Passando direttamente l'arbitro mentre un sostegno elimina questo codice extra.
Incapsulamento migliore
Quando si utilizza `ForwardRef`, il componente figlio deve essere consapevole che sta ricevendo un ref e deve attaccarlo all'elemento DOM appropriato. Passare l'arbitro come oggetto di scena consente alla componente figlio di rimanere ignaro dell'arbitro, migliorando l'incapsulamento.
più refactoring
Se è necessario refactoring di un albero dei componenti e modificare il punto di allegata, è più semplice aggiornare il nome dell'elica anziché dover aggiornare la chiamata `ForwardRef` in più luoghi. Ciò rende la base di codice più mantenibile.
coerente con i componenti di classe
Nei componenti di classe, gli arbitri sono collegati usando il "REF`, non tramite uno speciale meccanismo" Forwardref ". Consentire REFS come oggetti di scena nei componenti della funzione fornisce un'API più coerente tra i componenti di classe e funzione.
Verifica del tipo più semplice
Quando si utilizza TypeScript, è più semplice digitare il controllo di un ref passato come oggetto di scena rispetto all'utilizzo di tipi `ForwardRef` e` Refattributes '. Il tipo di applicazione può essere dedotto direttamente dall'oggetto `Rif`.
In sintesi, la nuova funzionalità di REFS come oggetti di scena rende l'API React più intuitiva, riduce la placca della caldaia, migliora l'incapsulamento e rende la base di codice più mantenibile, il che migliora l'efficienza degli sviluppatori quando si lavora con Refs in React 19 e oltre [1] [3] [4].
Citazioni:[1] https://www.copycat.dev/blog/react-forwardref/
[2] https://stackoverflow.com/questions/58578570/value-of-using-react-forwardref-vs-custom-ref-prop
[3] https://legacy.reactjs.org/docs/forwarding-refs.html
[4] https://www.reddit.com/r/reactjs/comments/1asgpy9/ref_as_a_prop_advance_beginner_question/
[5] https://blog.logrocket.com/why-y-you-should-use-refs-sparingly-in-production/
[6] https://react.dev/blog/2024/04/25/react-19-upgrade-guide
[7] https://dev.to/dalcio/react-performance-usestate-reducer-ref-teorico-summary-1bok
[8] https://www.freecodecamp.org/news/new-react-19-features/