All'interno di un component possiamo inserire qualunque tipo di oggetto HTML. Se vogliamo interagire con questi oggetti, dobbiamo sfruttare gli eventi che JSX ci mette a disposizione (che poi sono gli stessi che HTML mette a disposizione). Ad esempio, se vogliamo gestire il click su un pulsante dobbiamo gestire l'evento onClick.
È fondamentale sottolineare che gli eventi onclick e onClick sono diversi: il primo (con la lettera minuscola dopo 'on') rappresenta l'evento di default del browser, mentre il secondo (con la lettera maiuscola dopo 'on') rappresenta l'evento che ReactJS gestisce ed è quello che dobbiamo sempre utilizzare. L'esempio fatto con onClick vale ovviamente per qualunque altro tipo di evento.
Se creiamo un component tramite function, assegniamo all'evento una variabile che punta alla funzione che gestisce l'evento, se invece creiamo un component tramite class, allora assegnamo all'evento un metodo della classe facendo attenzione a passare il contesto tramite la funzione bind. Se non passiamo il contesto, assegnandogli il this, il metodo verrebbe invocato, ma il suo this sarebbe undefined quindi non potremmo accedere ad altri metodi e proprietà del component.
function MyComponent() { const handleClick = () => { alert('You clicked me'); } return ( <button onClick={handleClick}>Click me</button> ) } class MyComponent extends React.Component { handleClick() { alert('you clicked me'); } render() { return ( <button onClick={this.handleClick.bind(this)}>Click me</button> ) } }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione file Javascript in Blazor con .NET 9
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Referenziare un @layer più alto in CSS
Ricevere notifiche sui test con Azure Load Testing
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Potenziare la ricerca su Cosmos DB con Full Text Search
Documentare i servizi REST con Swagger e OpenAPI con .NET 9
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Path addizionali per gli asset in ASP.NET Core MVC
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Fornire parametri ad un Web component HTML