1. Components
Components in React sono blocchi di costruzione indipendenti che possono essere riutilizzati. Sono divisi in elementi dell'interfaccia utente più piccoli e possono essere combinati per formare file UI più grandi components. Ad esempio, un'applicazione può avere components come Header, Sidebar e Content. Ogni componente ha le proprie responsabilità e può ricevere props e state visualizzare i dati corrispondenti.
Esempio:
// Functional Component
function Greeting(props) {
return <h1>Hello, {props.name}!</h1>;
}
// Class Component
class Greeting extends React.Component {
render() {
return <h1>Hello, {this.props.name}!</h1>;
}
}
2. Props
Props in React sono valori trasmessi components dall'esterno. Aiutano a passare i dati da genitore components a figlio components. Props sono di sola lettura e non possono essere modificati all'interno del componente. Per utilizzare props, passiamo i valori agli attributi del componente e li usiamo nella parte dell'interfaccia utente.
Esempio:
function Greeting(props) {
return <h1>Hello, {props.name}!</h1>;
}
ReactDOM.render(<Greeting name="John" />, document.getElementById('root'));
3. State
State in React sono dati mutabili che possono essere modificati all'interno di un componente. Ogni componente può avere il proprio state per archiviare e gestire i dati dinamici. Quando le state modifiche, React aggiorna automaticamente l'interfaccia utente corrispondente. State è gestito solo in classe components ed è inizializzato nel costruttore del componente. Per aggiornare state, usiamo il State metodo `set()`.
Esempio:
class Counter extends React.Component {
constructor(props) {
super(props);
this.state = { count: 0 };
}
increment() {
this.setState({ count: this.state.count + 1 });
}
render() {
return(
<div>
<p>Count: {this.state.count}</p>
<button onClick={() => this.increment()}>Increment</button>
</div>
);
}
}