Le dichiarazioni di un componente in React possono essere fatte in diverse forme, ma le principali sono le seguenti:
- Dichiarazione di funzione (Function Component):React
function MyComponent(props) { // Il tuo codice JSX e logica qui... return <div>Contenuto del componente</div>; } // Oppure usando la sintassi delle frecce (Arrow Function Component): const MyComponent = (props) => { // Il tuo codice JSX e logica qui... return <div>Contenuto del componente</div>; }; // Quando vuoi esportare il componente: export function MyComponent(props) { // ... } // Oppure con la sintassi delle frecce: export const MyComponent = (props) => { // ... };
- Class Component:
import React, { Component } from 'react'; class MyComponent extends Component { render() { // Il tuo codice JSX e logica qui... return <div>Contenuto del componente</div>; } } export default MyComponent;
- Componente con la sintassi di classe e hooks:
import React, { useState, useEffect } from 'react'; const MyComponent = (props) => { // Utilizzo degli hooks per lo stato e gli effetti const [count, setCount] = useState(0); useEffect(() => { // Effetto eseguito dopo il render document.title = `Hai cliccato ${count} volte`; }, [count]); // Il tuo codice JSX e logica qui... return ( <div> <p>Hai cliccato {count} volte</p> <button onClick={() => setCount(count + 1)}>Cliccami</button> </div> ); }; export default MyComponent;
In tutte queste forme, il componente renderizza l’output usando il codice JSX. Puoi utilizzare il tipo di dichiarazione che preferisci, ma i componenti con la sintassi delle funzioni sono più comuni grazie alla loro sintassi concisa e alla facilità di lettura. Con l’introduzione degli hooks, le classi stanno diventando sempre meno utilizzate per definire i componenti.