आप नहीं सीधे propTypes
से के बाद से, जैसा कि आप ने कहा कि पढ़ सकते हैं, वे परिभाषित कर रहे हैं कार्यों के रूप में।
आप इसके बजाय अपने प्रोपटाइप को मध्यस्थ प्रारूप में परिभाषित कर सकते हैं, जिससे आप अपना propTypes
स्थैतिक उत्पन्न करेंगे।
var myPropTypes = {
color: {
type: 'oneOf',
value: ['green', 'blue', 'yellow'],
},
};
function processPropTypes(propTypes) {
var output = {};
for (var key in propTypes) {
if (propTypes.hasOwnProperty(key)) {
// Note that this does not support nested propTypes validation
// (arrayOf, objectOf, oneOfType and shape)
// You'd have to create special cases for those
output[key] = React.PropTypes[propTypes[key].type](propTypes[key].value);
}
}
return output;
}
var MyComponent = React.createClass({
propTypes: processPropTypes(myPropTypes),
static: {
myPropTypes: myPropTypes,
},
});
फिर आप MyComponent.myPropTypes
या element.type.myPropTypes
के माध्यम से अपने कस्टम propTypes प्रारूप का उपयोग कर सकते हैं।
इस प्रक्रिया को थोड़ा आसान बनाने के लिए यहां एक सहायक है।
function applyPropTypes(myPropTypes, Component) {
Component.propTypes = processPropTypes(myPropTypes);
Component.myPropTypes = propTypes;
}
applyPropTypes(myPropTypes, MyComponent);
स्रोत
2016-03-07 09:27:31
यह भी सच प्रोग्राम के शायद 'getDefaultProps' समारोह का उपयोग कर डिफ़ॉल्ट रंगमंच की सामग्री को पढ़ने के लिए सक्षम होने के लिए दिलचस्प होगा की जाँच करें। – Vadorequest