2017-01-30 14 views
8

मैं एक प्रतिक्रिया घटक के लिए "कुंजी" नाम के साथ पैरामीटर पास करने का प्रयास कर रहा हूं और यह काम नहीं करता है। अगर मैं "की कुंजी" का उपयोग "कुंजी" के बजाय करता हूं तो यह काम करता है।घटक प्रतिक्रिया करने के लिए "कुंजी" परम

ऐसा लगता है कि "कुंजी" एक प्रतिबंधित कीवर्ड है और मैं इसे पैरामीटर के नाम के रूप में उपयोग नहीं कर सकता।

क्या यह सच है?

मेरी उदाहरण है कि:

render() { 
    <MyComponent key='apple' 
       keyy='pear'> 
} 
+0

कंसोल आपको यह स्पष्ट रूप से बताना चाहिए जब आप आरक्षित संपत्ति का उपयोग करते हैं – ComethTheNerd

उत्तर

8

हाँ, यह सच है, कुंजी एक प्रतिबंधित कीवर्ड और रंगमंच की सामग्री के रूप में प्रचारित किया प्राप्त करता है।


कुंजी एक संकेत के रूप में सेवा करने के लिए प्रतिक्रिया लेकिन वे अपने घटकों के लिए पारित नहीं मिलता। उदाहरण के साथ ऊपर

const content = posts.map((post) => 
    <Post 
    key={post.id} 
    id={post.id} 
    title={post.title} /> 
); 

, डाक घटक props.id पढ़ सकते हैं, लेकिन नहीं रंगमंच की सामग्री: यदि आप अपने घटक में एक ही मूल्य की जरूरत है, यह स्पष्ट रूप से एक अलग नाम के साथ एक आधार के रूप में गुजरती हैं। कुंजी।

पढ़ें docs

3

हाँ key कीवर्ड में अधिक आरक्षित है, इस HTML तत्वों की पहचान करने के प्रतिक्रिया द्वारा इस्तेमाल किया जाता है, यह अद्वितीय होना चाहिए। यह प्रदर्शन में सुधार करने में मदद करता है। हमें प्रत्येक बच्चे को एक कुंजी जोड़नी चाहिए। इस तरह प्रतिक्रिया कम से कम डोम परिवर्तन को संभाल सकता है।

From React Docs:

कुंजी मदद की पहचान जो आइटम, बदल जोड़ रहे हैं, या निकाले जाने पर है प्रतिक्रिया। तत्वों को एक स्थिर पहचान देने के लिए सरणी के अंदर तत्वों को कुंजी दी जानी चाहिए। सरणी के भीतर उपयोग की जाने वाली कुंजी उनके भाई बहनों के बीच अद्वितीय होनी चाहिए। हालांकि उन्हें विश्व स्तर पर अद्वितीय होने की आवश्यकता नहीं है। कुंजी प्रतिक्रिया के संकेत के रूप में कार्य करती हैं लेकिन वे आपके घटकों तक नहीं पहुंचती हैं। यदि आपको अपने घटक में एक ही मूल्य की आवश्यकता है, तो इसे स्पष्ट रूप से एक अलग नाम के साथ प्रोप के रूप में पास करें।

0

key एक आरक्षित शब्द है।

here से:

कुंजी मदद की पहचान जो आइटम को बदल दिया है प्रतिक्रिया, जोड़ रहे हैं, या निकाल दिए जाते हैं। तत्वों को एक स्थिर पहचान देने के लिए सरणी के तत्वों को कुंजी दी जानी चाहिए:

कुंजी चुनने का सबसे अच्छा तरीका एक स्ट्रिंग का उपयोग करना है जो विशिष्ट रूप से अपने भाई बहनों के बीच एक सूची आइटम की पहचान करता है। अक्सर आप अपने डेटा से कुंजी के रूप में आईडी का उपयोग करेंगे।

This भी अच्छा है और बताता है कि क्यों प्रतिक्रिया key परम का उपयोग करता है, और क्या ते लाभ हैं।आप पाएंगे कि key param रिएक्ट सुलह एल्गोरिदम का कोरस्ट्रोन है।


अलावा key परम से इस तरह के रूप में कुछ और आरक्षित शब्द आप उपयोग नहीं करना चाहिए देखते हैं:

ref और dangerouslySetInnerHTML

बाद में एक dangerouslySetInnerHTML आप डोम का उपयोग करने के बजाय innerHTML

अधिक जानकारी के लिए here में चेक करें।

संबंधित मुद्दे