मान लें कि मेरा react.js ऐप तिथियों को प्रदर्शित करने जा रहा है और मैं क्लाइंट के ब्राउज़र/ओएस में सेट प्रारूप को लागू करना चाहता हूं। ऐसे कई घटक हैं जो तिथियां दिखाते हैं और मैं उनके बीच कोड साझा करने के कुछ तरीकों का उपयोग कर सकता हूं।React.js: पुन: प्रयोज्य घटकों बनाम मिक्सिन के उपयोगिता फ़ंक्शन
1.Re-प्रयोग करने योग्य React.js घटकों की तरह:
var DateFormatter = require('./../formatters/Date');
<DateFormatter value={invoice.date} />
2.Utility कार्यों React.js mixins के माध्यम से साझा, यानी:
var React = require('react');
module.exports = React.createClass({
render : function(){
if(this.props.value === null || this.props.value===undefined)
return false;
var formattedValue = new Date(this.props.value).toLocaleDateString();
return(
<span>
{formattedValue}
</span>
);
}
});
और फिर उन्हें चाहते का उपयोग
module.exports = {
renderDate : function(dateValue){
if(dateValue === null || dateValue===undefined)
return false;
var formattedValue = new Date(dateValue).toLocaleDateString();
return(
<span>
{formattedValue}
</span>
);
}
}
और फिर बस एक घटक में मिश्रण जोड़ें और
जैसे कुछ का उपयोग करें{this.renderDate(invoice.date)}
मेरे लिए ऐसा लगता है कि अब इन 2 दृष्टिकोणों के बीच कोई अंतर नहीं है। लेकिन मुझे प्रत्येक समाधान के पेशेवरों और विपक्ष के बारे में समुदाय की राय सुनना अच्छा लगेगा। TIA!
मिश्रण मूल रूप से विरासत हैं। वे आमतौर पर प्रोग्रामर के लिए होते हैं जो नहीं जानते कि वे क्या कर रहे हैं, और आम तौर पर आप पैरामीटर के साथ बुनियादी कार्यों का उपयोग करने में काफी बेहतर हैं। अवधारणा के बारे में चिंता न करें, यह ऑब्जेक्ट.साइन जैसी चीजें रखने वाले जावास्क्रिप्ट का सिर्फ एक दुष्प्रभाव है और बेवकूफ बकवास प्रोग्रामर ऐसा करते हैं जब उपकरण दिए जाते हैं जो उन्हें जो भी चाहते हैं उन्हें करने देते हैं। –