Le service n'est pas limité à Angular, même en Angular2 + ,
Le service est juste une collection de fonctions d'assistance ...
Et il existe de nombreuses façons de les créer et de les réutiliser dans l'application ...
1) Ils peuvent être toutes des fonctions séparées qui sont exportées à partir d'un fichier js, comme ci-dessous:
export const firstFunction = () => {
return "firstFunction";
}
export const secondFunction = () => {
return "secondFunction";
}
//etc
2) Nous pouvons également utiliser une méthode d'usine comme, avec collection de fonctions ... avec ES6, il peut s'agir d'une classe plutôt que d'un constructeur de fonction:
class myService {
constructor() {
this._data = null;
}
setMyService(data) {
this._data = data;
}
getMyService() {
return this._data;
}
}
Dans ce cas, vous devez créer une instance avec une nouvelle clé ...
const myServiceInstance = new myService();
Dans ce cas également, chaque instance a sa propre vie, alors soyez prudent si vous souhaitez la partager, dans ce cas, vous ne devez exporter que l'instance que vous souhaitez ...
3) Si votre fonction et vos utils ne seront pas partagés, vous pouvez même les mettre dans le composant React, dans ce cas, tout comme la fonction dans votre composant react ...
class Greeting extends React.Component {
getName() {
return "Alireza Dezfoolian";
}
render() {
return <h1>Hello, {this.getName()}</h1>;
}
}
4) Une autre façon de gérer les choses pourrait être d'utiliser Redux , c'est un magasin temporaire pour vous, donc si vous l'avez dans votre application React , cela peut vous aider avec de nombreuses fonctions de setter getter vous utilisez ... C'est comme un grand magasin qui gardent une trace de vos états et peuvent le partager entre vos composants, vous pouvez donc vous débarrasser de beaucoup de problèmes liés aux éléments de setter que nous utilisons dans les services ...
Il est toujours bon de faire un code DRY et de ne pas répéter ce qui doit être utilisé pour rendre le code réutilisable et lisible, mais n'essayez pas de suivre les méthodes angulaires dans l'application React , comme mentionné au point 4, l'utilisation de Redux peut réduire votre besoin de services et vous limitez leur utilisation pour certaines fonctions d'assistance réutilisables comme l'élément 1 ...