मैं इसे करने के लिए "प्रतिक्रिया" तरीका जानने के लिए कुछ दिनों के लिए संघर्ष कर रहा हूं।प्रतिक्रियाओं में पेड़ घटक में राज्य का प्रबंधन कैसे करें
असल में, मेरे पास एक पेड़ है, सूचियों की एक सूची (सूचियों ...) जो मनमाने ढंग से घोंसला जा सकती है, और मुझे एक घटक चाहिए जो इसे प्रदर्शित करेगा और पुनर्गठन भी सक्षम करेगा।
यहाँ मेरी डेटा है:
var data = [{
id: 1
}, {
id: 2, children: [
{
id: 3, children: [{id: 6}]
}, {
id: 4
}, {
id: 5
}]
}]
मेरी पहली पास बस एक ही "पेड़" घटक है कि अपने कार्य प्रस्तुत करना (look at the code here) में डोम तत्वों का नेस्टेड सूचियों बनाता है करने के लिए किया गया था। वास्तव में तत्वों की छोटी संख्या के लिए बहुत अच्छी तरह से काम किया, लेकिन मैं सैकड़ों तत्वों का समर्थन करने में सक्षम होना चाहता हूं, और पेड़ के भीतर एक तत्व स्थानांतरित होने पर बहुत अधिक पुन: प्रस्तुत लागत थी (~ 600ms जब कुछ सौ थे तत्व)।
तो मुझे लगता है कि मेरे पास पेड़ का प्रत्येक "नोड" होगा, यह इस घटक का अपना उदाहरण होगा। लेकिन यहां मेरा प्रश्न है (लंबे परिचय के लिए खेद है):
क्या प्रत्येक नोड गतिशील रूप से सूची के लिए पूछताछ करता है कि यह केंद्रीय "डेटाबेस" से बच्चों की आईडी है और राज्य में स्टोर करता है? या शीर्ष-सबसे नोड पूरे पेड़ को लोड कर सकता है और प्रोप के माध्यम से सबकुछ नीचे कर सकता है?
मैं अभी भी अपने दिमाग को लपेटने की कोशिश कर रहा हूं कि कैसे राज्य & प्रोप को & को संभाला जाना चाहिए।
धन्यवाद
सबकुछ एक पेड़ है, है ना?आप ट्री घटक का पुन: उपयोग कर सकते हैं ताकि इसे ट्री बच्चों को शीर्ष स्तर के रूप में पेश करने के बजाय बनाया जा सके। मैंने रिकर्सिव प्रतिपादन की कोशिश नहीं की है, लेकिन इसे काम करना चाहिए। प्रत्येक वृक्ष घटक के लिए, अपने तत्काल बच्चों को प्रस्तुत करें और उन बच्चों को अपने बच्चों को पास करें, साथ ही, सुनिश्चित करें कि आप लूप में घटकों पर 'कुंजी' विशेषता सेट करते हैं, इसलिए प्रतिक्रिया उनके ट्रैक रख सकती है। –
ओह "कुंजी" विशेषता? दस्तावेज़ों में कहीं भी नहीं देखा था। मैं कोशिश करूँगा –
"कुंजी" विशेषता स्पष्ट नहीं है, लेकिन इसका उल्लेख [गतिशील बच्चों] में किया गया है (http://facebook.github.io/react/docs/multiple-components.html#dynamic-children) घटक दस्तावेज़ों का खंड। –