Parent-child, child-parent va sibling komponentlar orasidagi barcha asosiy aloqa usullari — test va mashqlar bilan.
Props va Lifting State Up — komponentlar orasidagi barcha aloqa turlarining asosi.
App.jsxReact JSXfunction Parent() {function handleChildClick(message) {console.log("Child yubordi:", message);}return <Child onNotify={handleChildClick} />;}function Child({ onNotify }) {return <button onClick={() => onNotify("Salom parent!")}>Yuborish</button>;}
App.jsxReact JSXfunction Parent() {const [selected, setSelected] = useState(null);return (<><ItemList onSelect={setSelected} /><ItemDetails item={selected} /></>);}
Task: Ota komponentga xabar yuboradigan LikeButton yozing.
App.jsxReact JSXfunction ItemList() {function selectItem(item) {// ItemDetails'ga qanday yetkazish mumkin?}return <button onClick={() => selectItem("A")}>Tanlash</button>;}function ItemDetails() {// item'ni qayerdan olish kerak?}
Your Task: Ikkala komponent bir-biridan bexabar. Buni qanday tuzatish mumkin?
<details> <summary>Solution</summary> State'ni umumiy parentga ko'tarish kerak: ```jsx function Parent() { const [item, setItem] = useState(null); return ( <> <ItemList onSelect={setItem} /> <ItemDetails item={item} /> </> ); } ``` </details>Props — pastga, callback funksiyalar — yuqoriga. Sibling'lar bevosita emas, umumiy parent orqali gaplashadi.
App.jsxReact JSX// Child -> Parent<Child onAction={(data) => handleAction(data)} />// Sibling <-> Sibling (umumiy parent orqali)<A onSelect={setShared} /> <B value={shared} />
Mavzu bo‘yicha tushunchalaringizni interaktiv test orqali sinovdan o‘tkazing va natijalarni bilib oling.
Darslikda o‘rganilgan qoidalarga asosan real kod yozing, testlardan o‘tkazing va yechimlarni mustahkamlang.
Test Sinovi
Hali topshirilmagan (kamida 75% kerak)
Amaliy Masalalar
0 / 1 ta yechildi (kamida 75% kerak)
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: