React / FrontendMaggio 20267 min di lettura

Passare da Laravel Blade a React: i concetti che hanno richiesto un cambio di prospettiva

Arrivando da Laravel, ero abituato a far fare tutto il lavoro al server. Blade elabora il codice PHP, restituisce l'HTML e l'interattività nel browser si gestisce con jQuery o JavaScript puro. Passare a React e Next.js ha richiesto di ripensare il modo di progettare le interfacce utente.

#React#Next.js#JavaScript#Frontend

01. Ragionare per componenti invece che per template interi

In Blade si ragiona spesso per pagine e partial: si include la navbar, si cicla sui dati e per le modifiche dinamiche si fa una chiamata AJAX aggiornando il DOM.

In React l'interfaccia è una conseguenza diretta dello stato. Quando lo stato cambia, React si occupa di aggiornare il DOM. Abituarsi a non manipolare direttamente gli elementi ma a gestire il flusso dei dati è stato il cambiamento principale.

  • Le props scendono verso il basso, gli eventi risalgono
  • Mantenere lo stato vicino a dove viene effettivamente utilizzato
  • Calcolare i valori derivati durante il render invece di creare stati duplicati
  • Suddividere le schermate grandi in componenti piccoli e focalizzati

02. Gestione di form e input utente

In Laravel la gestione dei form è lineare: submit POST, validazione con Form Request e redirect con messaggi flash. In React, gestire gli input controllati sembrava più verboso all'inizio, finché non ho iniziato a strutturare bene gli hook.

Con l'App Router e le Server Actions di Next.js, il collegamento tra validazione server e interfaccia client torna a essere fluido e molto vicino alla comodità di Laravel, offrendo al contempo feedback immediato all'utente.

03. Server Components e Client Components

L'App Router di Next.js mi ha fatto apprezzare molto React perché i Server Components ricordano molto Blade: vengono eseguiti sul server, possono accedere direttamente ai dati senza esporre credenziali e non appesantiscono il bundle JavaScript nel browser. Uso `'use client'` solo dove serve reale interattività, come nei modali o nei filtri.

Per me React non sostituisce backend solidi come Laravel, ma li completa. Quando si comprende il ciclo di rendering e la gestione dello stato, sviluppare dashboard interattive e moderne diventa molto più naturale.