सेवा में भी कोणीय तक सीमित नहीं है, Angular2 + ,
सेवा केवल सहायक कार्यों का संग्रह है ...
और उन्हें बनाने और अनुप्रयोग में पुन: उपयोग करने के कई तरीके हैं ...
1) वे सभी अलग-अलग फ़ंक्शन हो सकते हैं जो जेएस फ़ाइल से निर्यात किए जाते हैं, नीचे के समान:
export const firstFunction = () => {
return "firstFunction";
}
export const secondFunction = () => {
return "secondFunction";
}
//etc
2) हम फैक्ट्री पद्धति का भी उपयोग कर सकते हैं, जैसे कार्यों का संग्रह ... ईएस 6 के साथ यह एक फ़ंक्शन निर्माता के बजाय एक वर्ग हो सकता है:
class myService {
constructor() {
this._data = null;
}
setMyService(data) {
this._data = data;
}
getMyService() {
return this._data;
}
}
इस मामले में आपको नई कुंजी के साथ एक उदाहरण बनाने की आवश्यकता है ...
const myServiceInstance = new myService();
इस मामले में भी, प्रत्येक उदाहरण का अपना जीवन है, इसलिए सावधान रहें यदि आप इसे साझा करना चाहते हैं, तो उस स्थिति में आपको केवल इच्छित उदाहरण निर्यात करना चाहिए ...
3) यदि आपका कार्य और बर्तन साझा नहीं होने जा रहे हैं, तो आप उन्हें रिएक्ट घटक में भी डाल सकते हैं, इस मामले में, बस आपकी प्रतिक्रिया घटक में कार्य के रूप में ...
class Greeting extends React.Component {
getName() {
return "Alireza Dezfoolian";
}
render() {
return <h1>Hello, {this.getName()}</h1>;
}
}
4) एक और तरीका जिससे आप चीजों को संभाल सकते हैं, Redux का उपयोग कर सकते हैं , यह आपके लिए एक अस्थायी स्टोर है, इसलिए यदि आपके पास यह आपके रिएक्ट एप्लिकेशन में है , तो यह आपको कई गटर सेटर कार्यों में मदद कर सकता है आपके द्वारा उपयोग किए ... यह एक बड़े स्टोर की तरह है जो आपके राज्यों का ट्रैक रखते हैं और इसे आपके घटकों में साझा कर सकते हैं, इसलिए हम सेवाओं में उपयोग होने वाले गेट्टर सेटर के सामान के लिए कई दर्द से छुटकारा पा सकते हैं ...
DRY कोड को करना हमेशा अच्छा होता है और कोड को पुन: प्रयोज्य और पठनीय बनाने के लिए जो उपयोग करने की आवश्यकता होती है उसे दोहराते नहीं हैं, लेकिन React ऐप में कोणीय तरीकों का पालन करने की कोशिश न करें , जैसा कि आइटम 4 में उल्लेख किया गया है, Redux का उपयोग करने से आपकी आवश्यकता कम हो सकती है सेवाओं और आप उन्हें आइटम 1 जैसे कुछ पुन: प्रयोज्य सहायक कार्यों के लिए उपयोग करने की सीमा ...