2017-01-20 4 views
8

मैंने अलग-अलग फ़ाइलों में राज्य और शहर दो मॉडल बनाए हैं। राज्य में शहर आयात करना।Proptypes.array पर Proptypes.shray को पास करने के लिए

राज्य के अंदर के शहरों की एक श्रृंखला हो सकती है।

नीचे कोड ठीक काम करता है।

State.js

let State = PropTypes.shape({ 
    name: React.PropTypes.string, 
    cities: PropTypes.arrayOf(PropTypes.shape(City)) 
}); 

City.js

let City = PropTypes.shape({ 
    name: React.PropTypes.string, 
    population: PropTypes.number 
}); 

हालांकि, जब मैं फिर से लिखने cities रूप

let State = PropTypes.shape({ 
    name: React.PropTypes.string, 
    cities: PropTypes.arrayOf(City) 
}); 

यह देता है मुझे चेतावनी।

सारांश:

cities: PropTypes.arrayOf(PropTypes.shape(City)) काम करता है।

cities: PropTypes.arrayOf(City) नहीं करता है।

यह मुझे निम्न चेतावनी देता है:

Warning: Failed propType: Property xx of component Xx has invalid PropType notation inside arrayOf. Check the render method of Yy.

मेरा प्रश्न City एक Proptypes.shape है, तो क्यों मैं Proptypes.arrayOf में फिर से Proptypes.shape(City) उल्लेख करने की आवश्यकता है, है?

+0

कृपया निर्यात और आयात कोड दिखाते हैं। समस्या शायद वहां है। – Sulthan

+0

मुझे एक ही समस्या थी और समस्या आयात और निर्यात का आदेश था। –

उत्तर

1

अपने कोड में:

let City = PropTypes.shape({ 
    name: React.PropTypes.string, 
    population: PropTypes.number 
}); 

प्रतिक्रिया किस संस्करण का उपयोग कर रहे हैं? आप React.PropTypes और PropTypes से PropTypes का संदर्भ दे रहे हैं। आप PropTypes कैसे आयात कर रहे हैं? क्या आप प्रोप-प्रकार पैकेज का उपयोग कर रहे हैं?

मैं एक समान परिदृश्य का उपयोग कर रहा हूं और यह मेरे लिए काम करता है। आपका प्रस्तुतिकरण कैसा दिखता है और प्रोप के लिए प्रदान किया गया डेटा क्या है?

मेरे लिए, निम्न बिल्कुल काम करता है:

cities: PropTypes.arrayOf(City) 
संबंधित मुद्दे