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
Integrare OpenTelemetry direttamente in Azure Monitor
Le cron expression di un workflow di GitHub
GitHub Copilot CLI in ambienti offline
Ottimizzare gli indici con Automatic Index Compaction in Azure SQL Database
Ospitare n8n su Azure App Service
Monitorare le tabelle di Azure SQL Database con Change Event Streaming
Integrare il Docker Model Runner in un workflow di GitHub
Utilizzare zizmor per rendere più sicuri i workflow di GitHub
Nuova modale riconnessione Blazor
Raggruppare risorse in .NET Aspire
Utilizzare le View Transition API di JavaScript
Utilizzare i named query filter di Entity Framework


