Usługa nie ogranicza się do Angulara , nawet w Angular2 + ,
Usługa to po prostu zbiór funkcji pomocniczych ...
Istnieje wiele sposobów ich tworzenia i ponownego wykorzystywania w całej aplikacji ...
1) Mogą to być wszystkie oddzielne funkcje, które są eksportowane z pliku js, podobnie jak poniżej:
export const firstFunction = () => {
return "firstFunction";
}
export const secondFunction = () => {
return "secondFunction";
}
//etc
2) Możemy również użyć metody fabrycznej, takiej jak zbiór funkcji ... w ES6 może to być klasa, a nie konstruktor funkcji:
class myService {
constructor() {
this._data = null;
}
setMyService(data) {
this._data = data;
}
getMyService() {
return this._data;
}
}
W takim przypadku musisz utworzyć instancję z nowym kluczem ...
const myServiceInstance = new myService();
Również w tym przypadku każda instancja ma swoje własne życie, więc bądź ostrożny, jeśli chcesz ją udostępnić, w takim przypadku powinieneś wyeksportować tylko tę instancję, którą chcesz ...
3) Jeśli twoja funkcja i narzędzia nie będą udostępniane, możesz nawet umieścić je w komponencie React, w tym przypadku, tak samo jak funkcje w komponencie React ...
class Greeting extends React.Component {
getName() {
return "Alireza Dezfoolian";
}
render() {
return <h1>Hello, {this.getName()}</h1>;
}
}
4) Innym sposobem, w jaki możesz sobie z tym poradzić, może być użycie Redux , jest to tymczasowy magazyn dla ciebie, więc jeśli masz go w swojej aplikacji React , może ci pomóc z wieloma funkcjami getter setter których używasz ... To jest jak duży sklep które śledzą twoje stany i mogą udostępniać je w twoich komponentach, dzięki czemu mogą pozbyć się wielu problemów związanych z elementami ustawiającymi getter, których używamy w usługach ...
Zawsze dobrze jest zrobić kod DRY i nie powtarzać tego, co jest potrzebne, aby kod był wielokrotnego użytku i czytelny, ale nie próbuj podążać za ścieżkami Angulara w aplikacji React , jak wspomniano w punkcie 4, użycie Redux może zmniejszyć potrzebę usług i ograniczasz używanie ich do niektórych funkcji pomocniczych wielokrotnego użytku, takich jak pozycja 1 ...