Cashar 2

Props: Xogta u Dhaafi Qaybaha

Baro sida loo isticmaalo props si xog loogu diro qaybaha React, iyo sida looga dhigo mid la isticmaali karo.

Props — Qeybinta Xogta

Haddii qaybaha (components) React ay yihiin functions, markaas props waa xujooyin aad u dirtid. Waa sida aad u dejin karto qaybta — mid walba samayn kartaa wax ka duwan iyadoo ku xidnaanaysa props-ka ay hesho.

Sida Props u Shaqeeyaan

// Waxaan u dirtaa props
<Salaan magac="Axmed" xirfad="Frontend Developer" />

// Qaybtu sidaas waxay u qaataa
function Salaan({ magac, xirfad }) {
  return (
    <div>
      <h2>{magac}</h2>
      <p>{xirfad}</p>
    </div>
  );
}

Calaamadda { } oo ku jirta dooda function-ka waxay la micno tahay destructuring — JSON-ka si toos ah ayaa loogu xidaa magacyada.

Noocyada Props-ka

Props waxay noqon kartaa nooc kasta ee JavaScript:

<Xaalad
  magac="Fadumo"           // xariiq (string)
  da={29}                  // tiro (number)
  firfircoon={true}        // boolean
  xirfadaha={['React', 'CSS', 'TypeScript']}  // array
  ciwaanka={{ magaalo: 'Muqdisho', dalka: 'Soomaaliya' }}  // shay (object)
  marka la gujiyaa={() => xog('gujiyo!')}  // function
/>

Xusuusnow: Xariiqyada oo keliya ayaa la gudbin karaa " " — waxyaabaha kale oo dhan waxay u baahan yihiin { }.

Qiyamka Default

Haddii prop la’aan la diro, waxaad dejin kartaa qiyamka caadiga ah (default values):

function Badhanka({ qoraal = "Guji", midab = "cagaar", baaxad = "dhexe" }) {
  return (
    <button className={`btn btn-${midab} btn-${baaxad}`}>
      {qoraal}
    </button>
  );
}

// Waxaa isticmaali kartaa sidan:
<Badhanka />                          // "Guji", cagaar, dhexe
<Badhanka qoraal="Soo dir" />        // "Soo dir", cagaar, dhexe
<Badhanka midab="buluug" baaxad="weyn" qoraal="Xidid" />

children Props

Prop gaar ah oo loo yaqaan children ayaa lagu heli karaa marka aad nuxurka u dhex geliso tag-ga qaybta:

function Kaardhka({ children, cinwaan }) {
  return (
    <div className="kaardhka">
      <h3 className="cinwaan">{cinwaan}</h3>
      <div className="jirka">{children}</div>
    </div>
  );
}

// Isticmaal:
<Kaardhka cinwaan="Macluumaadka Shaqada">
  <p>Waxaan ahay horumariye frontend ah.</p>
  <p>Waxaan ka shaqeynayaa Muqdisho.</p>
</Kaardhka>

Props Akhri Keliya

Props waa akhri keliya — qaybta soo qaadatay kuma beddeli karto props-keeda. Hadii qiimaha isbeddelo, taas waxay u baahan tahay state (casharka xiga).

function Tiro({ qiimaha }) {
  // ❌ Tan sameeya kama ayaan awoodi: qiimaha = qiimaha + 1;
  // ✅ Taas waxay u baahan tahay useState
  return <span>{qiimaha}</span>;
}

Xirfad Dhaqameed

Kaardhka Macalinka

Samee qaybta `TeacherCard` oo qaadata props-ka: `name` (xariiq), `subject` (xariiq), `lessons` (tiro), `verified` (boolean). Haddii `verified` yahay true, muuji calaamad ✓.

Knowledge Check

Props Review

0/1 la jawaabay

Xaqiiji inaad fahantay sida xogtu uga soo degto waalid ilaa child component.

1Props waxa badanaa loo isticmaalaa:

Billow Maanta

Diyaar ma u tahay inaad
noqoto khabiir?

Ku biir 1,200+ arday ah oo ku baranaya koodka si dhakhso ah — bilaash, adigoo raacaya xawaarahaaga.