Skip to Content
Docs⚛️ ReactComponente

Componente React

Componentele sunt blocurile de bază ale oricărei aplicații React. Un component este o funcție JavaScript care returnează JSX.

Primul tău component

function Greeting({ name }) { return <h1>Bună, {name}!</h1> } export default function App() { return <Greeting name="lume" /> }

Numele componentelor trebuie să înceapă cu literă mare. greeting nu va funcționa — trebuie Greeting.

Props

Props sunt datele pe care le trimiți unui component, similar parametrilor unei funcții.

function Card({ title, description, emoji }) { return ( <div style={{ border: '1px solid #eee', padding: '1rem', borderRadius: '8px' }}> <span>{emoji}</span> <h2>{title}</h2> <p>{description}</p> </div> ) } export default function App() { return ( <Card title="React" description="O bibliotecă pentru interfețe UI" emoji="⚛️" /> ) }

Props cu valori default

function Button({ label = 'Click me', color = 'blue' }) { return ( <button style={{ backgroundColor: color }}> {label} </button> ) }

Componente imbricate

Creează componentele mici

function Avatar({ src, alt }) { return <img src={src} alt={alt} style={{ borderRadius: '50%', width: 48 }} /> } function Username({ name }) { return <strong>{name}</strong> }

Compune-le împreună

function UserCard({ name, avatar }) { return ( <div style={{ display: 'flex', alignItems: 'center', gap: '1rem' }}> <Avatar src={avatar} alt={name} /> <Username name={name} /> </div> ) }

Folosește componenta compusă

export default function App() { return ( <UserCard name="Ion Popescu" avatar="https://i.pravatar.cc/150" /> ) }

Children

Prop-ul special children îți permite să pasezi conținut între tag-urile unui component:

function Panel({ title, children }) { return ( <section> <h2>{title}</h2> <div>{children}</div> </section> ) } export default function App() { return ( <Panel title="Despre noi"> <p>Suntem o echipă de dezvoltatori pasionați.</p> <a href="/contact">Contactează-ne</a> </Panel> ) }

Nu modifica props! Props sunt read-only. Dacă ai nevoie să modifici date, folosește state.

Last updated on