ES6 destrukturizatsiya
Reactda destruksiya
Destructuring - bu obyektlar yoki massivlardan qiymatlarni alohida o‘zgaruvchilarga chiqarish imkonini beruvchi JavaScript xususiyati. React-da u odatda props, hooklar va state boshqaruvi bilan qo‘llaniladi.
Massivlarni destrukturizatsiya qilish
O‘zgaruvchiga massiv elementlarini belgilashning eski usuli:
Misol
Oldin:
const vehicles = ['mustang', 'f-150', 'expedition'];
// old way
const car = vehicles[0];
const truck = vehicles[1];
const suv = vehicles[2];
//You can now access each variable separately:
document.getElementById('demo').innerHTML = truck;
O‘zgaruvchiga massiv elementlarini tayinlashning yangi usuli:
Misol
Destructuring bilan:
const vehicles = ['mustang', 'f-150', 'expedition'];
const [car, truck, suv] = vehicles;
//You can now access each variable separately:
document.getElementById('demo').innerHTML = truck;
Agar biz faqat mashina va suvga ega bo‘lishni xohlasak, biz shunchaki yuk mashinasini qoldirib, vergul qo‘yishimiz mumkin:
const vehicles = ['mustang', 'f-150', 'expedition'];
const [car,, suv] = vehicles;
Funksiya massivni qaytarganda destrukturizatsiya foydali bo‘ladi:
Misol
function dateInfo(dat) {
const d = dat.getDate();
const m = dat.getMonth() + 1;
const y = dat.getFullYear();
return [d, m, y];
}
const [date, month, year] = dateInfo(new Date());
Obyektlarni destrukturizatsiya qilish
Obyektdan qiymatlarni chiqarish uchun siz destruksiyadan foydalanishingiz mumkin:
Misol
Obyektdan qiymatlarni o‘chiring:
const person = {
firstName: "John",
lastName: "Doe",
age: 50
};
// Destructuring
let {firstName, lastName, age} = person;
//You can now access each variable separately:
document.getElementById("demo").innerHTML = firstName;
Obyektlar uchun xususiyatlarning tartibi muhim emas:
Misol
Qiymatlarni tasodifiy tartibda oching:
const person = {
firstName: "John",
lastName: "Doe",
age: 50
};
// Destructuring
let {lastName, age, firstName} = person;
Siz faqat kerakli qiymat(lar)ni chiqarib olishingiz mumkin:
Misol
Obyektdan faqat firstNameni chiqarib oling:
const person = {
firstName: "John",
lastName: "Doe",
age: 50
};
// Destructuring
let {firstName} = person;
Potensial yetishmayotgan xususiyatlar uchun biz standart qiymatlarni o‘rnatishimiz mumkin:
Misol
Yo‘qolgan xususiyat uchun standart qiymatni o‘rnating:
const person = {
firstName: "John",
lastName: "Doe",
age: 50
};
// Destructuring
let {firstName, lastName, age, country = "Norway"} = person;
Shuningdek, chuqur joylashgan (nested) obyektlarni ham destrukturizatsiya qilishimiz mumkin: buning uchun ichki obyektga murojaat qilamiz, so‘ngra ikki nuqta va jingalak qavslar yordamida undan kerakli elementlarni yana destrukturizatsiya qilamiz:
Misol
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
car: {
brand: 'Ford',
model: 'Mustang',
}
};
// Destructuring
let {firstName, car: { brand, model }} = person;
let message = `My name is ${firstName}, and I drive a ${brand} ${model}.`;
Bizning JavaScript qo‘llanmamizda destrukturizatsiya haqida ko‘proq o‘qing.
React componentlarida destrukturizatsiya
Destrukturizatsiya (destructuring) ayniqsa React-da props, hooklar va API javoblari bilan ishlashda foydali. U kodingizni ixchamroq va o‘qilishi osonroq qiladi.
Props destrukturizatsiyasi
Component propslarni qabul qilganda, kerakli qiymatlarni chiqarish uchun destruksiyadan foydalanishingiz mumkin.
Destrukturadan foydalanish va foydalanmaslik o‘rtasidagi farqni ko‘rib chiqing:
//Using destructuring:
function Greeting({ name, age }) {
return <h1>Hello, {name}! You are {age} years old.</h1>;
}
//NOT using destructuring:
function Greeting(props) {
return <h1>Hello, {props.name}! You are {props.age} years old.</h1>;
}
Keling, ishlaydigan misolni ko‘rib chiqaylik:
Misol
Propslarni ajratib olish uchun destrukturadan foydalanish:
import { createRoot } from 'react-dom/client'
function Greeting({ name, age }) {
return <h1>Hello, {name}! You are {age} years old.</h1>;
}
createRoot(document.getElementById('root')).render(
<Greeting name="John" age={25} />
);
useState hook’ini destrukturizatsiya qilish
Agar component useState hookidan foydalansa, biz undan qiymatlarni olish uchun destruksiyadan foydalanamiz.
Misol
UseState dan qiymatlarni chiqarish uchun destrukturadan foydalanish:
import { createRoot, useState } from 'react-dom/client'
function Counter() {
// Destructuring the array returned by useState
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(count + 1)}>
Count: {count}
</button>
);
}
createRoot(document.getElementById('root')).render(
<Counter />
);
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
