Kodokon kodokon.com

लिस्ट रेंडर करना और keys की भूमिका

map के साथ डेटा के एक ऐरे को स्क्रीन पर एलिमेंट की एक लिस्ट में बदलें, और keys के साथ हर एलिमेंट की पहचान करें।

8 मिनट · 3 प्रश्न

इस पाठ को Kodokon में खोलें

इंटरफ़ेस लिस्ट से भरे होते हैं: एक बातचीत में संदेश, एक स्टोर में उत्पाद, एक प्लेलिस्ट में ट्रैक... टैग को हाथ से कॉपी-पेस्ट करने के बजाय, आप डेटा के एक ऐरे से शुरू करते हैं और उसे map मेथड से रूपांतरित करते हैं। एक त्वरित याददाश्त: map किसी ऐरे के हर एलिमेंट पर एक फ़ंक्शन लागू करता है और परिणामों के साथ एक नया ऐरे लौटाता है।

JAVASCRIPT
const fruits = ["apple", "banana", "kiwi"];

const upperFruits = fruits.map(function (fruit) {
  return fruit.toUpperCase();
});

console.log(upperFruits);
map हर फल को बड़े अक्षरों में बदल देता है

React में, आप ठीक वही करते हैं, सिवाय इसके कि map को पास किया गया फ़ंक्शन स्ट्रिंग के बजाय JSX लौटाता है। React जानता है कि JSX एलिमेंट के एक ऐरे को कैसे प्रदर्शित करना है: यह उन्हें एक के बाद एक रेंडर करता है। एकमात्र आवश्यकता यह है कि हर एलिमेंट को key नामक एक विशेष prop दिया जाए।

JSX
function FruitList() {
  const fruits = ["apple", "banana", "kiwi"];

  return (
    <ul>
      {fruits.map((fruit) => (
        <li key={fruit}>{fruit}</li>
      ))}
    </ul>
  );
}
हर लिस्ट आइटम को एक अद्वितीय key मिलती है

key किसलिए है? यह एक अद्वितीय लेबल है जो React को हर एलिमेंट को पहचानने देता है जब लिस्ट बदलती है (जोड़ना, हटाना, पुनः क्रमबद्ध करना), जैसे किसी क्लोकरूम में नंबर वाले टिकट: बिना नंबर के, सही कोट लौटाने का कोई तरीका नहीं है। keys की बदौलत, React केवल उसी को अपडेट करता है जो वास्तव में बदल गया है। व्यवहार में, सबसे अच्छी key आपके डेटा से आने वाला एक अद्वितीय, स्थिर पहचानकर्ता होती है, जैसे कि एक id फ़ील्ड।

JSX
const tasks = [
  { id: 1, label: "Buy groceries" },
  { id: 2, label: "Water the plants" },
];

function TaskList() {
  return (
    <ul>
      {tasks.map((task) => (
        <li key={task.id}>{task.label}</li>
      ))}
    </ul>
  );
}
हर टास्क की id एक स्थिर key के रूप में काम करती है

ज्ञान जांच

सुनिश्चित करें कि आपको इस पाठ के मुख्य बिंदु याद हैं।

  1. React में किसी लिस्ट को रेंडर करने के लिए आप कौन-सा ऐरे मेथड उपयोग करते हैं?
    • push
    • map
    • forEach
  2. key prop किसलिए है?
    • लिस्ट को स्वचालित रूप से वर्णानुक्रम में सॉर्ट करने के लिए
    • लिस्ट को पासवर्ड से सुरक्षित करने के लिए
    • React को लिस्ट के हर एलिमेंट की पहचान करने देने के लिए
  3. key के लिए सबसे अच्छी वैल्यू क्या है?
    • डेटा से आने वाला एक अद्वितीय, स्थिर पहचानकर्ता
    • ऐरे में एलिमेंट का इंडेक्स, हर स्थिति में
    • हर रेंडर पर उत्पन्न एक यादृच्छिक संख्या