घटक माउंट होने पर एपीआई डेटा प्राप्त किया जाता है, और राज्य को फॉर्म में सेट किया जाता है

sectionData: {
  course: null,
  section_id: null,
  semester: null,
  number: null,
  seats: null,
  meetings: [],
  open_seats: null,
  waitlist: null,
  instructors: []
},

संदर्भ के लिए प्रासंगिक एपीआई डेटा इस तरह दिखता है

"meetings": [
 {
  "days": "TuTh",
  "room": "0324",
  "building": "IRB",
  "classtype": "",
  "start_time": "11:00am",
  "end_time": "12:15pm"
 },
 {
  "days": "MW",
  "room": "3120",
  "building": "CSI",
  "classtype": "Discussion",
  "start_time": "9:00am",
  "end_time": "9:50am"
 }
],

पाठ्यक्रम और सेक्शन_आईडी जैसी कुंजियों का उपयोग करना ठीक है, क्योंकि वे अशक्त के साथ पूर्वनिर्धारित हैं। हालांकि, अगर मुझे मीटिंग्स में प्रत्येक मीटिंग ऑब्जेक्ट पर मैप करना है, और "दिन" या "रूम" एक्सेस करना है, तो प्रत्येक मीटिंग स्पष्ट रूप से अपरिभाषित है।

{this.state.sectionData.meetings.map(meeting => this.renderMeetings())}

    renderMeetings(meeting) {
        return (<div key={meeting}>     
            {meeting.days}
        </div>)
    }

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

1
George Liebert 15 फरवरी 2020, 11:30
1
वास्तव में आप क्या हासिल करना चाहते हैं?
 – 
ZaidRehman
15 फरवरी 2020, 11:51

2 जवाब

क्या मैं मानचित्र की सभी क्षमताओं से अनजान हूँ।

मेरे सीमित अनुभव में पुनरावृत्त चर meeting को फ़ंक्शन में पास किया जाएगा।

क्या यह बदलने में मदद करेगा

(meeting => this.renderMeetings())}

इसके लिए?

// pass meeting in to function
(meeting => this.renderMeetings(meeting))}
1
Nelles 15 फरवरी 2020, 13:06
सही पर। मेरी ओर से वास्तव में गूंगा गलती। पूरी तरह से भ्रमित था कि जीवनचक्र इस तरह क्यों काम कर रहा था, और यह कुछ मूर्खतापूर्ण निकला।
 – 
George Liebert
15 फरवरी 2020, 20:27

आपके नीचे दिए गए कोड में कोई समस्या है

renderMeetings(meeting) {
    return (<div key={meeting}>     
        {meeting.days}
    </div>)
}

meeting एक वस्तु है इसलिए कुंजी हमेशा एक स्ट्रिंग में परिवर्तित हो जाएगी जो [object Object] है। चाबियां एक जैसी नहीं हो सकतीं

0
ZaidRehman 15 फरवरी 2020, 13:05